.net core 中的[FromBody]
一、針對(duì).net core中post類型的api注意的地方(前提是Controller上加[ApiController]特性)。默認(rèn)是這個(gè)。
1、如果客戶端Content-Type是application/json,? api接口如果是用單個(gè)對(duì)象做參數(shù)的時(shí)候,加或者不加[FromBody]都可以正常解析參數(shù),但是接口是用對(duì)象列表做參數(shù)時(shí)候,則必須加[FromBody],否則讀取不到參數(shù)。
2、如果客戶端Content-Type不是application/json,api接口必須加[FromForm],否則客戶端調(diào)用接口會(huì)報(bào)400錯(cuò)誤。
3、如果加上[FromBody],客戶端Content-Type不是application/json,接口會(huì)報(bào)400錯(cuò)誤。
?
二、Controller上不加[ApiController]特性),當(dāng)application/json類型的時(shí),讀取的參數(shù)將全為空,而非application/json卻可以正常解析,無論怎么客戶端不會(huì)拋出400異常。
?
寫兩段測(cè)試代碼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數(shù)據(jù)時(shí)候建議都加上[FromBody]。
如果客戶端提交的數(shù)據(jù)Content-Type如果不為application/json時(shí),會(huì)報(bào)錯(cuò),如果要解決報(bào)錯(cuò),需要在接口上加上[FromForm]。
轉(zhuǎn)載于:https://www.cnblogs.com/KQNLL/p/10322143.html
總結(jié)
以上是生活随笔為你收集整理的.net core 中的[FromBody]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求丹麦女孩百度网盘资源
- 下一篇: “幽情谁与同”上一句是什么