当前位置:  开发笔记 > 编程语言 > 正文

在asp.net Web API中使用FromBody时,字符串值是Empty

如何解决《在asp.netWebAPI中使用FromBody时,字符串值是Empty》经验,为你挑选了1个好方法。

我正在使用asp.net核心Web API。下面是我的简单post函数,它具有一个字符串参数。问题是当我使用[FromBody]时,字符串保持为空。我正在使用PostMan来测试我的服务。我希望原始数据从客户端传递到我的控制器。在Postman中,我选择主体类型RAW,并设置标题Content-Type文本/纯文本。Raw Body包含“ Hello World”字符串。

[HttpPost]
        [Route("hosted-services/tokenize-card")]
        public IActionResult Test([FromRoute]decimal businessKey,[FromBody] string body)
        {
            var data = businessKey;
            return new JsonResult("Hello World");
        }

Kalten.. 5

就像文档说的那样:

当参数具有[FromBody]时,Web API将使用Content-Type标头来选择格式器。

默认情况下仅支持XML和JSON内容类型。所以,你需要使用application/xmlapplication/json或注册自定义IInputFormatter

接下来,您需要发送与所选内容类型匹配的内容。对于json,如果参数为int发送数字。如果是一个类,则发送一个json对象。如果是字符串,请发送json字符串。等等。

int => 14
string => "azerty"
class => { "propName" : "value" }
Array => []
... => ...

在您的情况下,您应该发送application/jsoncontent-type和作为content:

"Hello string"

不只是

Hello string

ASPNET Core JSON输入格式化程序实现

ASPNET Core XML输入格式化程序实现

示例:创建CSV媒体格式化程序



1> Kalten..:

就像文档说的那样:

当参数具有[FromBody]时,Web API将使用Content-Type标头来选择格式器。

默认情况下仅支持XML和JSON内容类型。所以,你需要使用application/xmlapplication/json或注册自定义IInputFormatter

接下来,您需要发送与所选内容类型匹配的内容。对于json,如果参数为int发送数字。如果是一个类,则发送一个json对象。如果是字符串,请发送json字符串。等等。

int => 14
string => "azerty"
class => { "propName" : "value" }
Array => []
... => ...

在您的情况下,您应该发送application/jsoncontent-type和作为content:

"Hello string"

不只是

Hello string

ASPNET Core JSON输入格式化程序实现

ASPNET Core XML输入格式化程序实现

示例:创建CSV媒体格式化程序

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有