通过Postman插件将[FromBody]值传递给post方法时为空值

Saeed Ahmadian Masal:

我在ASP.net Web API中使用api控制器,我需要通过[FromBody]类型将值传递给post方法。

 [HttpPost]
 public HttpResponseMessage Post( [FromBody]string name)
 {
     ....
 }

我使用Postman插件,但是当发送到post方法时,name的始终为null ..遵循此图像:在此处输入图片说明

在Post方法中: 在此处输入图片说明

为什么会这样?

伊戈尔:

您不能使用json和FromBody绑定单个原始字符串,json将传输一个对象,而控制器将依次期望一个复杂的对象(模型)。如果只想发送一个字符串,则使用url编码。

在标题集上

Content-Type: application/x-www-form-urlencoded

POST请求消息正文的正文应为=saeed(基于您的测试值),而不能为其他任何内容。对于未知/可变字符串,必须对值进行URL编码,以免出现输入字符意外转义的情况。


备用1

创建一个模型并使用它。

邮件正文值: {"name":"saeee"}

C#

public class CustomModel {
    public string Name {get;set;}
}

控制器方式

public HttpResponseMessage Post([FromBody]CustomModel model)

备用2

使用URI而不是消息正文将原始字符串传递到您的帖子。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章