问题描述
在ASP.NET Web API的应用程序中,我们可以使用HttpStatusCode.OK
这样的属性来获取当前请求的上下文的响应状态码,以便可以使用此状态进行后续的操作和处理,比如可以将此状态码以JSON数据返回给调用者,如下:
public IHttpActionResult GetResourceData()
{
return this.Content(HttpStatusCode.OK, new { response = "Hello"});
}
但在.NET Core的跨平台应用程序开发中,以上的实现方式不能再使用了,比如下面的方式就不能获取到当前上下文的状态码:
public ActionResult IsAuthenticated()
{
return Ok(Json("123"));
}
那么,在.NET Core跨平台应用程序开发(ASP.NET Core Web API)中,如何获取当前上下文的状态码呢?
方案一
在ASP.NET Core Web API的应用程序中,我们可以使用控制器StatusCode()
,方法的返回值类型为ActionResult
,实现如下:
public ActionResult IsAuthenticated()
{
return StatusCode(200, Json("123"));
}
方案二
在ASP.NET Core 2.0中,控制器的操作(Action)返回对象类型(在.NET Core 2.0 中ASP.NET Core MVC和Web API两种应用都是继承至Controller
)可以通过返回OkObjectResult()
实例实现,如下:
public IActionResult Get()
{
return new OkObjectResult(new Item { Id = 123, Name = "Hero" });
}
可以在OkObjectResult
对象的参数中带入状态码
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册