ASP.NET Core Web 处理接口HttpResponseMessage类型返回值的问题

在ASP.NET MVC Web中,HttpResponseMessage作为一个返回类型,能将状态码与数据以Json的格式一并返回给客户端,但是在ASP.NET Core Web中,貌似有些小问题。我在做接口测试时,总是得到如下返回结果(可能格式与你们的有些不一样,但大致就是这个意思),这是对 HttpResponseMessage 自己的 Json 序列化数据:

{
  "Version": {
    "Major": 1,
    "Minor": 1,
    "Build": -1,
    "Revision": -1,
    "MajorRevision": -1,
    "MinorRevision": -1
  },
  "Content": {
    "Headers": [
      {
        "Key": "Content-Type",
        "Value": [
          "text/plain"
        ]
      }
    ]
  },
  "StatusCode": 200,
  "ReasonPhrase": "OK",
  "Headers": [
    {
      "Key": "Cache-Control",
      "Value": [
        "no-cache"
      ]
    }
  ],
  "RequestMessage": null,
  "IsSuccessStatusCode": true
}

很明显,项目对HttpResponseMessage好像很不友好。

为此,我找出了解决办法:

【1】安装 Nuget 包 Microsoft.AspNetCore.Mvc.WebApiCompatShim注意:选择Nuget版本时不能乱选,我项目的.NET Core版本是2.1,所以我选了Microsoft.AspNetCore.Mvc.WebApiCompatShim 2.1,如果.NET Core版本为2.0,那要选择Microsoft.AspNetCore.Mvc.WebApiCompatShim 2.0,否则会报错

【2】在 Startup -> ConfigureServices 中,在 AddMvc() 之后添加 AddWebApiConventions() :

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().AddWebApiConventions();
}

 

再次使用Postman对该方法进行测试:

Obviously, the problem has been  resolved.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

越来越胖的GuanRunwei

祝老板们身体健康,财源广进!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值