首页 / ASP.NET Core / 正文

[ASP.NET Core]在ASP.NET Core跨平台应用程序开发中如何返回带有Http状态码的JSON数据?

2899 发布于: 2018-09-11 读完约需3分钟

问题描述

在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对象的参数中带入状态码

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: 基于Vue.js+iview的极简后台管理系统模板--DncVueSample

下一篇: [ASP.NET Core Web API]在ASP.NET Core Web API中如何返回下载文件?

本文永久链接码友网 » [ASP.NET Core]在ASP.NET Core跨平台应用程序开发中如何返回带有Http状态码的JSON数据?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册