Rya*_*opp 5 c# asp.net-core asp.net-core-webapi
所以OK(value)返回带有application/json头的格式化的json.然而,BadRequest()没有.如果请求是一个应用程序/ json,即使这是一个错误的请求,也不应该像那样响应?
[HttpPost]
public IActionResult Post([FromBody]Resolution value)
{
using (_ctx)
{
try
{
if (ValidateResolution(value.Size))
{
_ctx.Resolution.Add(value);
_ctx.SaveChanges();
return Ok(value);
}
return BadRequest("{message:hello}");
} catch (Exception) {
return BadRequest();
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 18
你正在做的是将一个字符串传递给BadRequest(),这使得你的Action返回一个内容类型为纯文本的响应.
如果您想返回一个响应类型为application/json的JSON对象,那么您应该将一个不是字符串的对象传递给BadRequest().您甚至可以传递一个匿名对象来快速创建一个JSON对象,如下所示:
return BadRequest(new { message = "bad request"});
Run Code Online (Sandbox Code Playgroud)
PS:正确的JSON格式是{"field_name":"field_value"}(没有值的引号是数字,bool,null).因此,根据您编写的内容,即使您将内容类型更改为application/json,也无法正确解析.
| 归档时间: |
|
| 查看次数: |
9440 次 |
| 最近记录: |