分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

.net core 中的[FromBody]

发布时间:2023-09-06 02:31责任编辑:苏小强关键词:暂无标签

.net core中post数据时候,有时候需要加[FromBody],有时候却不需要,来研究下什么个情况。

写两段测试代码

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

先测试提交单个对象,如果选择文本方式提交json个数据,直接抛出400错误。

接着Content-Type改成application/json,可以看到提交成功了。

断点到代码,数据读取正常。

接着我们加上[FromBody]试下

 可以看到同样有数据,说明post单个对象的json数据时候,加不加[FromBody]都可以正常读取参数。

接着我们来看下列表内容的json是否有区别。

同样,当我们设置Content-Type如果不为application/json时,提交是进不了接口,客户端报400错误。

首先看加[FromBody]

 结果显然是正确的!

再看不[FromBody]

客户端可以提交数据,返回200,但是接口中获取的数据却为空了!说明读取列表时候必须加[FromBody]

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

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

.net core 中的[FromBody]

原文地址:https://www.cnblogs.com/KQNLL/p/10322143.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved