ASP.NET 5 WebApi 返回 HttpResponseMessage

简介:

首先,ASP.NET 5 没有了 MVC 和 WebApi 的区分,都属于 ASP.NET 5,从 Controller 的继承就可以看出,原来 ASP.NET WebApi 2 ValuesController : ApiController 改成了 ValuesController : Controller,并且返回 HttpResponseMessage 也有些改变。

ASP.NET WebApi 2 中的示例代码:

[Route("values/{id}")]
public async Task<HttpResponseMessage> Get(string id)
{
    var response = Request.CreateResponse(HttpStatusCode.OK);
    var accept = Request.Headers.Accept;
    var result = await _valuesService.Get(id);

    if (accept.Any(x => x.MediaType == "text/html"))
    {
        response.Content = new StringContent(result, Encoding.UTF8, "text/html");
    }
    else
    {
        response.Content = new StringContent(result, Encoding.UTF8, "text/plain");
    }
    return response;
}

ASP.NET 5 WebApi 中的示例代码:

[Route("values/{id}")]
public async Task Get(string id)
{
    var accept = Request.GetTypedHeaders().Accept;
    var result = await _valuesService.Get(id);
    var data = Encoding.UTF8.GetBytes(result);
    if (accept.Any(x => x.MediaType == "text/html"))
    {
        Response.ContentType = "text/html";
    }
    else
    {
        Response.ContentType = "text/plain";
    }
    await Response.Body.WriteAsync(data, 0, data.Length);
}

可以看到,改变还是很大的,主要是两方面:

  • 没有了 Request.CreateResponse,获取 Accept 需要通过 Request.GetTypedHeaders()
  • 没有返回值,而是直接通过数据流的方式写入到 Response.Body 中。



本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/aspnet5-return-HttpResponseMessage.html,如需转载请自行联系原作者

相关文章
|
4月前
|
JSON 开发框架 .NET
ASP.NET Core Web API设置响应输出的Json数据格式的两种方式
ASP.NET Core Web API设置响应输出的Json数据格式的两种方式
|
8月前
|
开发框架 .NET 中间件
Swagger的 ASP.NET Core Web API 帮助页
使用 Web API 时,了解其各种方法对开发人员来说可能是一项挑战。 Swagger 也称为OpenAPI,解决了为 Web API 生成有用文档和帮助页的问题。 它具有诸如交互式文档、客户端 SDK 生成和 API 可发现性等优点。
69 0
|
8月前
|
开发框架 JSON .NET
使用 ASP.NET Core 创建 Web API系列
使用 ASP.NET Core 创建 Web API系列
164 0
|
9月前
|
开发框架 JSON 算法
ASP.NET Core Web API之Token验证
ASP.NET Core Web API之Token验证
142 0
|
9月前
|
开发框架 前端开发 JavaScript
VUE3.0+Antdv+Asp.net WebApi开发学生信息管理系统(完)
VUE3.0+Antdv+Asp.net WebApi开发学生信息管理系统(完)
78 0
|
9月前
|
开发框架 前端开发 JavaScript
VUE3.0+Antdv+Asp.net WebApi开发学生信息管理系统(三)
VUE3.0+Antdv+Asp.net WebApi开发学生信息管理系统(三)
67 0
|
9月前
|
开发框架 JSON 前端开发
ASP.NET Web API入门介绍(一)
ASP.NET Web API入门介绍(一)
122 0
|
开发框架 JSON 前端开发
6.3 ASP.NET Core Web API技术选择
ASP.NET Core Web API技术选择
6.3 ASP.NET Core Web API技术选择
|
XML 开发框架 JSON
ASP.NET Core Web API 帮助页
ASP.NET Core Web API 帮助页
170 0
ASP.NET Core Web API 帮助页
|
开发框架 JavaScript 前端开发
ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
433 0
ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件