我正在使用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/xml
,application/json
或注册自定义IInputFormatter
。
接下来,您需要发送与所选内容类型匹配的内容。对于json,如果参数为int
发送数字。如果是一个类,则发送一个json对象。如果是字符串,请发送json字符串。等等。
int => 14 string => "azerty" class => { "propName" : "value" } Array => [] ... => ...
在您的情况下,您应该发送application/json
content-type和作为content:
"Hello string"
不只是
Hello string
ASPNET Core JSON输入格式化程序实现
ASPNET Core XML输入格式化程序实现
示例:创建CSV媒体格式化程序
就像文档说的那样:
当参数具有[FromBody]时,Web API将使用Content-Type标头来选择格式器。
默认情况下仅支持XML和JSON内容类型。所以,你需要使用application/xml
,application/json
或注册自定义IInputFormatter
。
接下来,您需要发送与所选内容类型匹配的内容。对于json,如果参数为int
发送数字。如果是一个类,则发送一个json对象。如果是字符串,请发送json字符串。等等。
int => 14 string => "azerty" class => { "propName" : "value" } Array => [] ... => ...
在您的情况下,您应该发送application/json
content-type和作为content:
"Hello string"
不只是
Hello string
ASPNET Core JSON输入格式化程序实现
ASPNET Core XML输入格式化程序实现
示例:创建CSV媒体格式化程序