ASP.NET核心控制器返回ActionResult和Json

时间:2020-09-28 16:09:21

标签: asp.net-core asp.net-mvc-3 asp.net-web-api

我正在使用asp.net core 3.1,并试图确定如何返回JSON和我开始使用的IActionResult status codes。似乎我创建的第一个Get方法返回了Json,因为Android应用程序调用它能够毫无问题地接收它。我有一个:

[HttpGet]
public ActionResult<List<MyObject>> Get()

在该方法中,我运行数据库查询,填充对象,将它们添加到列表中,然后返回:

return Ok(objectList); 

还有一些我要返回的地方:

return BadRequest(returnValue);

当我执行post方法时,Ok()响应不会返回为Json。有什么办法可以通过Json中的Ok将其作为Json的值返回?为什么Get会自动执行而Post却不自动执行呢?另外,我确实希望提供特定的错误消息以进行调试。别人怎么做到的?

1 个答案:

答案 0 :(得分:0)

尝试使用软件包:Microsoft.AspNetCore.Mvcreturn Json(HttpStatusCode.OK)。 您还可以创建如下所示的对象,然后从API返回Json:

public int StatusCode { get; set; }
public string Message { get; set; }