在 .NET Core 中从 HttpResponseMessage 转换为 IActionResult [英] Convert from HttpResponseMessage to IActionResult in .NET Core
问题描述
我正在将一些以前用 .NET Framework 编写的代码移植到 .NET Core.
我有过这样的经历:
HttpResponseMessage result = await client.SendAync(request);如果 (result.StatusCode != HttpStatusCode.OK){IHttpActionResult response = ResponseMessage(result);返回响应;}
这个函数的返回值现在是IActionResult
.
如何获取 HttpResponseMessage 结果
对象并从中返回 IActionResult
?
您可以使用硬设置状态代码返回,例如 Ok();
或 BadRequest();
>
或者使用动态返回
StatusCode(<你的状态码号>,<可选返回对象>);
这是使用Microsoft.AspNetCore.Mvc
下面是这个.StatusCode 详细说明了一点:
/* "this" 来自你的类是 Microsoft.AspNetCore.Mvc.ControllerBase 的子类 */StatusCodeResult scr = this.StatusCode(200);/* 或者 */Object myObject = new Object();ObjectResult 矿石 = this.StatusCode(200, myObject);返回 scr;/* 或返回矿石;*/
I'm porting over some code that was previously written in .NET Framework to .NET Core.
I had something like this:
HttpResponseMessage result = await client.SendAync(request);
if (result.StatusCode != HttpStatusCode.OK)
{
IHttpActionResult response = ResponseMessage(result);
return response;
}
The return value of this function is now IActionResult
.
How do I take the HttpResponseMessage result
object and return an IActionResult
from it?
You can return using hardset status codes like Ok();
or BadRequest();
Or return using a dynamic one using
StatusCode(<Your status code number>,<Optional return object>);
This is using Microsoft.AspNetCore.Mvc
Below is this.StatusCode spelled out a little more:
/* "this" comes from your class being a subclass of Microsoft.AspNetCore.Mvc.ControllerBase */
StatusCodeResult scr = this.StatusCode(200);
/* OR */
Object myObject = new Object();
ObjectResult ores = this.StatusCode(200, myObject);
return scr; /* or return ores;*/
这篇关于在 .NET Core 中从 HttpResponseMessage 转换为 IActionResult的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!