首页 新闻 会员 周边

asp.net core webapi

0
悬赏园豆:10 [已解决问题] 解决于 2018-09-03 17:52

form-data

webapi Post 【实体类】 添加 FromBody 415错误

webapi Post 【实体类】 不添加 FromBody 200

Content-Type:application/json

丿如何是好的主页 丿如何是好 | 菜鸟二级 | 园豆:226
提问于:2018-09-03 16:52
< >
分享
最佳答案
0

问题没表述清楚。表单数据不用添加[FromBody]特性。[FromBody]特性是针对将request中的Body参数也就是JSON

收获园豆:10
Jeffcky | 老鸟四级 |园豆:2789 | 2018-09-03 16:58

我现在是 通过 PostMan

[FromBody] 是在什么情况下使用呢?

如何使用呢

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:02

@丿如何是好: 是你将参数放在Body中,同时在请求头中设置:Content-Type:application/json,
这个时候就需要用[FromBody]特性标识,从单词意思就大概能够猜到来自于Body

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:04

@Jeffcky:

类型 Content-Type:application/json

我在 Postman Body 里面添加对应的属性 报 415
在Url?{"Name":"dasd","Age":123} 报 500

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:08

@丿如何是好: 报415,
(1)那你确定是否用[FromBody]标识了呢?
(2)是否是POST请求
【Url?{"Name":"dasd","Age":123} 】这是啥玩意,在url加JSON??。这显然不对啦。

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:13

@Jeffcky: 使用了FromBody 然后就是 使用Post

Url?这个是乱实验的

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:15

@丿如何是好: 后台是否用[HttpPost]接收的呢

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:16

@Jeffcky: 是的

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:17

@丿如何是好: 你直接截图你的请求和后台代码就知道问题在哪里了

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:28

@Jeffcky:

这是后台代码  没有开通博客不能发截图

    [HttpPost("Post")]
    public UserInfo PostJsonPerson([FromBody]UserInfo user)
    {
        return user;
    }

Postman

head
Content-Type:application/json

form-data 和后台实体类 属性一致
Name:131das2
Age:1
Address:dasd

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:36

@丿如何是好: 代码没问题。

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:39

@Jeffcky: 通过Postman 访问接口 参数

head
Content-Type:application/json

form-data 和后台实体类 属性一致

Name:131das2
Age:1
Address:dasd

这个也没有问题吧 ?

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:41

@Jeffcky:

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:43

@丿如何是好: 错了。

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:44

@丿如何是好: 说了是Body中传递JSON数据啊

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:45

@Jeffcky:

这是为什么呢?

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:45

@丿如何是好: 哎,你这都没分,我还一个劲的给你解答,呵呵

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:45

@Jeffcky:
好吧 麻烦您了
非常感谢

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:46

@丿如何是好: 我去,这是要求你传递JSON数据啊并放在body中,这就是用[FromBody]特性标识的前提。。。。。。。

Jeffcky | 园豆:2789 (老鸟四级) | 2018-09-03 17:47

@Jeffcky: 嗯嗯 好的 好像有点明白了 麻烦您了

丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 17:51
其他回答(1)
0

建议确认一下请求头是否真的是 application/json ?

dudu | 园豆:30994 (高人七级) | 2018-09-03 16:57

是的 Content-Type:application/json

不添加 FromBody 就是正确的

支持(0) 反对(0) 丿如何是好 | 园豆:226 (菜鸟二级) | 2018-09-03 16:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册