在ASP.Net Core MVC中,ControllerBase.StatusCode()中使用的“值”是什么?

时间:2019-06-26 19:26:54

标签: asp.net asp.net-core asp.net-core-mvc

这是第二个参数。我没有看到任何文档描述当我返回设置了该参数的StatusCode ObjectResult时发生的情况。

    //
    // Summary:
    //     Creates a Microsoft.AspNetCore.Mvc.ObjectResult object by specifying a statusCode
    //     and value
    //
    // Parameters:
    //   statusCode:
    //     The status code to set on the response.
    //
    //   value:
    //     The value to set on the Microsoft.AspNetCore.Mvc.ObjectResult.
    //
    // Returns:
    //     The created Microsoft.AspNetCore.Mvc.ObjectResult object for the response.
    [NonAction]
    public virtual ObjectResult StatusCode(int statusCode, object value);

1 个答案:

答案 0 :(得分:1)

value将是响应中包含的有效负载/主体,并由适用的媒体格式化程序进行格式化。

对于下面的代码以及使用application/json内容类型时,它将为

{ "a" : "foo", "b" : 1 }

public class Dto
{
    public string A { get; set; }
    public int B { get; set; }
}


public class MyController : Controller
{
    [HttpGet]
    public IActionResult MyAction()
    {
        var dto = new Dto { A = "foo", B = 1};
        return StatusCode(200, dto);
    }
}