我正在从.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。如果您知道我的代码正在发生什么或需要其他详细信息,请大声喊叫。谢谢