zoukankan      html  css  js  c++  java
  • .Net Core下WebApi的HttpResponseMessage返回值利用兼容包来处理

    在.net framework下我们编写webapi时返回一般会用到HttpResponseMessage类型,如果返回值什么内容调用此api就能返回什么值了。但是在.net core下我们用HttpResponseMessage来当做返回值得话得到的结果可能就不是你想要的了,可能会出现一堆看起来没什么用的json返回值,如下所示就是我调用后的返回值

    {
    "version": {
    "major": 1,
    "minor": 1,
    "build": -1,
    "revision": -1,
    "majorRevision": -1,
    "minorRevision": -1
    },
    "content": {
    "headers": [
    {
    "key": "Content-Type",
    "value": [
    "text/plain; charset=utf-8"
    ]
    }
    ]
    },
    "statusCode": 200,
    "reasonPhrase": "OK",
    "headers": [],
    "requestMessage": null,
    "isSuccessStatusCode": true
    }
    其实我们可以安装.net core的webapi兼容包来实现的,通过nuget安装包

    Microsoft.AspNetCore.Mvc.WebApiCompatShim

    然后在Startup中的ConfigureServices方法里在AddMvc()后增加AddWebApiConventions()就行了

    public void ConfigureServices(IServiceCollection services)
    {
    services.AddMvc().AddWebApiConventions();
    }
    这时你再重新调用下webapi返回的值就是你程序里的返回值了。

    附上.net core的相关组件清单,以便有用时查询

    相关组件
    ASP.NET Core MVC 包含了下列组件,基于 .NET Core 的精神,只有需要用到的才需要加入参考 (于 project.json),因此开发者可以自由选择,而不必把所有的组件都加进来。

    組件 功能
    Microsoft.AspNetCore.Mvc ASP.NET Core MVC 引用套件
    Microsoft.AspNetCore.Mvc.Abstractions ASP.NET Core MVC 功能的抽象层
    Microsoft.AspNetCore.Mvc.ApiExplorer ASP.NET Core MVC 的 API 文件支持
    Microsoft.AspNetCore.Mvc.Core ASP.NET Core MVC 核心组件
    Microsoft.AspNetCore.Mvc.Cors 提供 Web API 所需要的 CORS 能力
    Microsoft.AspNetCore.Mvc.DataAnnotations MVC 所需的数据注解 (Data Annotation) 功能
    Microsoft.AspNetCore.Mvc.Formatters.Json MVC/Web API 所需的 JSON 序列化器
    Microsoft.AspNetCore.Mvc.Formatters.Xml MVC/Web API 所需的 XML 序列化器
    Microsoft.AspNetCore.Mvc.Localization MVC 应用程序本地化支持
    Microsoft.AspNetCore.Mvc.Razor MVC Razor 的核心类库 (若要在 MVC 中使用 Razor 就必须参考此组件)
    Microsoft.AspNetCore.Mvc.Razor.Host MVC Razor 的运行时引擎
    Microsoft.AspNetCore.Mvc.TagHelpers MVC Tag Helper 的核心类库
    Microsoft.AspNetCore.Mvc.ViewFeatures MVC View 功能的类库 (Controller 类的操作在此)
    Microsoft.AspNetCore.Mvc.WebApiCompatShim Web API 兼容套件
    Microsoft.AspNetCore.Razor Razor 的核心类库

  • 相关阅读:
    【前端】用百度BAE和express部署自己的node后台
    【前端】JavaScript中prototype和__proto__的区别
    【其他】Objective-C 内存管理学习总结
    【Unity3D】Unity3D 让角色的头部望向鼠标
    【Unity3D】Unity3D 摄像机带透明截图
    【前端】前端冷知识
    【Unity3D】Unity3D SkinnedMeshRenderer换装系统
    【前端】HTML中最适合做按钮的元素
    IEnumerable和IEnumerator 详解 分类: C# 2014-12-05 11:47 18人阅读 评论(0) 收藏
    LINQ to Entities
  • 原文地址:https://www.cnblogs.com/zoujinhua/p/15093955.html
Copyright © 2011-2022 走看看