.net core 中的[FromBody]

news/2024/11/13 2:26:04/

一、针对.net core中post类型的api注意的地方(前提是Controller上加[ApiController]特性)。默认是这个。

1、如果客户端Content-Type是application/json,  api接口如果是用单个对象做参数的时候,加或者不加[FromBody]都可以正常解析参数,但是接口是用对象列表做参数时候,则必须加[FromBody],否则读取不到参数。

2、如果客户端Content-Type不是application/json,api接口必须加[FromForm],否则客户端调用接口会报400错误。

3、如果加上[FromBody],客户端Content-Type不是application/json,接口会报400错误。

 

二、Controller上不加[ApiController]特性),当application/json类型的时,读取的参数将全为空,而非application/json却可以正常解析,无论怎么客户端不会抛出400异常。

 

写两段测试代码Controller上加[ApiController]特性

     [HttpPost("PostList")]public void PostList([FromBody]List<Person> person){List<Person> personObj = person;}[HttpPost("PostSingle")]public void PostSingle(Person person){Person personObj = person;}

 

综合上述,客户端如果是提交json数据时候建议都加上[FromBody]。

如果客户端提交的数据Content-Type如果不为application/json时,会报错,如果要解决报错,需要在接口上加上[FromForm]。

转载于:https://www.cnblogs.com/KQNLL/p/10322143.html


http://www.ppmy.cn/news/611946.html

相关文章

使嵌入式系统调试更容易:有用的硬件和软件提示

使嵌入式系统调试更容易&#xff1a;有用的硬件和软件提示 Making embedded system debug easier: useful hardware & software tips 嵌入式系统是硬件和软件的混合体。两者必须相辅相成。硬件人员可以使软件更容易实现。因此&#xff0c;这里有一些建议&#xff0c;使系…

OpenCV+python:图像二值化

1&#xff0c;图像二值化概念及方法 一个像素点的颜色是由RGB三个值来表现的&#xff0c;所以一个像素点矩阵对应三个颜色向量矩阵&#xff0c;分别是R矩阵&#xff0c;G矩阵&#xff0c;B矩阵&#xff0c;它们也都是同样大小的矩阵。 在图像处理中&#xff0c;用RGB三个分量&…

GlideApp 引入不了问题

使用GlideApp 不用忘记创建 MyAppGlideModule 集成 AppGlideModule 我的项目中使用如下 GlideModule public class MyAppGlideModule extends AppGlideModule {Overridepublic void applyOptions(NonNull Context context, GlideBuilder builder) {try {int diskCacheSizeBy…

【Android学习笔记】activity使用和相关的重要类

>建立配置和使用Activity activity能够提供许多不同的操作页面&#xff0c;它们做成Activity栈&#xff0c;当前活动的应用位于栈顶。 LauncherActivity&&ArrayAdapter 每一个列表项对应一个intent&#xff0c;用于保存启动不同的activity的相关信息。 intentFo…

React接入Sentry.js

// 需要安装的库yarn add raven-js --saveyarn add raven-for-redux --save // 在创建store的地方import * as Raven from "raven-js";import * as createRavenMiddleware from "raven-for-redux"; Raven.config("dns", { release: ${版本号}}).…

OpenCV+python:图像金字塔

1&#xff0c;图像金字塔的概念 图像金字塔是一种以多分辨率来解释图像的有效但概念简单的结构。应用于图像分割&#xff0c;机器视觉和图像压缩。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低&#xff0c;且来源于同一张原始图的图像集合。其通过梯次向下采样获…

赋值语句和赋值表达式

学而时习之&#xff0c;温故而知新。 賦值语句将一个值指定给一个变量。在 Java 中賦值语句可以作为一个表达式。 将 作为赋值操作符 &#xff0c;例如 int x 3 注意&#xff1a;要给一个变量陚值&#xff0c;变量名必须在賦值操作符的左边。因此&#xff0c;下面的语句是…

新兴内存技术准备突围

新兴内存技术准备突围 Emerging memory technologies ready to break out 多伦多——新兴记忆技术已经出现了几十年&#xff0c;但是今年由客观分析和考夫林协会发布的《新兴记忆增长》报告显示&#xff0c;新兴记忆技术已经达到了一个临界点&#xff0c;比以往任何时候都更有…