gpt4 book ai didi

c# - 在错误的请求上返回 Json

转载 作者:太空狗 更新时间:2023-10-29 22:07:55 24 4
gpt4 key购买 nike

所以 OK(value) 返回带 application/json header 的格式化 json。但是 BadRequest() 没有。如果请求是一个 application/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();
}
}
}

最佳答案

您正在做的是将一个字符串传递给 BadRequest(),这使您的 Action 返回一个内容类型为纯文本的响应。

如果你想返回一个响应类型为 application/json 的 JSON 对象,那么你应该将一个不是字符串的对象传递给 BadRequest()。您甚至可以像这样传递一个匿名对象来快速创建一个 JSON 对象:

return BadRequest(new { message = "bad request"});

PS:正确的 JSON 格式是 {"field_name": "field_value"}(如果值的类型是数字、 bool 值、空值,则不需要引号)。因此,从您所写的内容来看,即使您将内容类型更改为 application/json,也无法正确解析它。

关于c# - 在错误的请求上返回 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44291834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com