首页 > 编程语言 >ASP.NET Post, FromBody 接参总是null 空值. Web api 前端传递是有值的,怎么回事?

ASP.NET Post, FromBody 接参总是null 空值. Web api 前端传递是有值的,怎么回事?

时间:2023-04-11 15:55:20浏览次数:33  
标签:Web ASP 有值 int FromBody postApi array null Post

遇到一个常见错误,前端Post传递data: { array: [1,2,3] },但是API接收的一直是null

API 方法

postApi ([FromBody] int[] array, [FromUri] int num)

Debug过程

  1. F12检查数据传递结构,没有问题

  1. 尝试排除法,只保留[FormBody]。postApi ([FromBody] int[] array)
    还是不行。
  2. 根据网络查询,添加一个请求头。后台接收不再是null,变成了[]。但是数据还是不过来。
    然后就没办法了,反复尝试,人呆了。
headers: {
  'Content-Type': 'application/x-www-form-urlencoded'
},
  1. 然后就和同事讨论,参考项目其他api,发现只要是[FormBody]都会建立一个类模型;然后就解决了
public class postParams
{
    public int[] array{ get; set; }
}
postApi ([FromBody] postParams params){
  int[] array = params.array;
}

总结反思

Post传递payload(请求载荷)格式其实是这种

{
  array: [1,2,3]
}

postApi ([FromBody] int[] array) 接收的格式是这种,这种格式其实是错误格式,所以不管怎么传都接收不到参数。所以需要创建一个类模型,才会包含{}

array: [1,2,3]

标签:Web,ASP,有值,int,FromBody,postApi,array,null,Post
From: https://www.cnblogs.com/yody/p/17306497.html

相关文章

  • vue项目中webpack编译glsl文件的配置
    1、 安装webpack-glsl-loader npminstallwebpack-glsl-loader2、修改vue.config.js配置,添加内容如下module.exports=defineConfig({configureWebpack:(config)=>{config.module.rules.push({test:/\.glsl$/,use:[......
  • pod install libwebp 问题
    1.find/Users/***/.cocoapods/repos-inamelibwebp出现如下展示:/Users/***/.cocoapods/repos/cocoapods/Specs/1/9/2/libwebp/Users/***/.cocoapods/repos/master/Specs/1/9/2/libwebp(版本不同可能没有master,找不到找/Users/***/.cocoapods/repos/cocoapods/Specs/1/9/2/libwe......
  • Raspberry Pi GPIO 图解教程 All In One
    RaspberryPiGPIO图解教程AllInOneRaspberryPi&GPIOGPIO图解GPIOhttps://www.raspberrypi.com/documentation/computers/os.html#gpio-and-the-40-pin-header$pinouthttps://pinout.xyzGPIO(GeneralPurposeIO)SPI(SerialPeripheralInterface)I......
  • webpack体验
    1、首先建立npm环境npminit-y2、导入包webpack、webpack-cli、webpack-dev-server、html-webpack-pluginnpminstallwebpackwebpack-dev-serverwebpack-clihtml-webpack-plugin-d3、新建webpack.config.js配置文件constHtmlWebpackPlugin=require('html-we......
  • 前端webpack开发阶段解决跨域问题
    通过配置代理解决  1'/API':{2target:'https://xiaoapi.cn/API',//你请求的第三方接口3logLevel:"debug",//开启debug模式后,可在终端查看代理的真实请求地址4//ws:true,//代理websockets5changeOrigin:true,/*在......
  • 由ASP.NET Core读取Response.Body引发的思考
    由ASP.NETCore读取Response.Body引发的思考 前言#    前几天有群友在群里问如何在我之前的文章《ASP.NETCoreWebApi返回结果统一包装实践》的时候有点疑问,主要的疑问点就是关于Respouse的读取的问题。在之前的文章《深入探究ASP.NETCore读取Request.Body的正确方式......
  • java.lang.NoSuchMethodException: com.innovation.web.BuyServlet.$%7Bid%7D(javax.s
    问题描述我在html页面写了get到删除某条记录的url路径里去,然后一直显示这个错误,也到不了相应的后台方法里面去,就很离谱欸家人们!问题解决听从友友的建议,将之前的/deleteCarts/${id}改成了之前用过的那种样式,也就是/deleteCarts?id=${id},然后就成功跳转到那个后台servlet里面啦!......
  • 今天课上实现了一个简陋的web项目-河北科技政策查询系统
    test.jsp<%@pagelanguage="java"contentType="text/html;charset=UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><......
  • ASP.NET Web API]如何Host定义在独立程序集中的Controller
    原文:https://www.cnblogs.com/artech/p/custom-assembly-resolver.html通过《ASP.NETWebAPI的Controller是如何被创建的?》的介绍我们知道默认ASP.NETWebAPI在SelfHost寄宿模式下用于解析程序集的AssembliesResolver是一个DefaultAssembliesResolver对象,它只会提供当前应用程......
  • ASP.NET Core MVC 从入门到精通之接化发(二)
    随着技术的发展,ASP.NETCoreMVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NETCoreMVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NETCoreMVC系统开发的人员。 经过前两篇文章的讲解,初步了解ASP.NETCor......