.NET Core 2.1返回带有自定义StatusCode的ObjectResult

时间:2019-11-12 19:25:59

标签: c# core

我正在从.NET Framework WebAPI迁移到.NET Core 2.1,并且在返回带有有效负载和自定义状态代码的ObjectResult()时遇到问题。 我的端点看起来像这样

public IActionResult Create([FromBody]string user) => _userService.CreateUser(user);

用户是一个以base64字符串编码的JSON对象,我有一个“原始请求正文” InputFormatter。

CreateUser()方法返回一个如下所示的ObjectResult

public class InsertionOk : ObjectResult
    {
    public InsertionOk(object payload) : base(payload) {
    Value = payload;
    StatusCode = 1;
    ContentTypes.Add(new MediaTypeHeaderValue("text/plain"));
    }

这将返回HTTP状态代码504:接收失败。 那好 然后,我尝试使用StreamContent对象将异步任务ExecuteResultAsync和CopyAsync重写为HttpContext.Response.Body。 这以正确的格式返回了正确的有效负载,但是状态码为200。因此,我要做的就是覆盖状态代码...除了它返回另一个状态代码504。如果您知道我的代码正在发生什么或需要其他详细信息,请大声喊叫。谢谢

0 个答案:

没有答案