我正在使用asp.net core 2.1,我需要在api中返回错误时模拟一些现有行为,从而使响应包括一个自定义对象:
return this.BadRequest(
new ApiError
{
// The corresponding integer response code.
Status = StatusCodes.Status400BadRequest,
// The matching short text code.
Code = "BadRequest",
// A detailed context specific message.
Message = "Some message"
});
我的问题是,asp.net核心为Microsoft.AspNetCore.Http.StatusCodes
类带来了指示响应代码的整数字段,但是字段名不是我想公开的,例如Code = nameof(StatusCodes.Status400BadRequest)
。
在这种情况下没有魔术字符串的情况下,生成响应描述BadRequest
的现代方法是什么?
我可以使用System.Net.HttpStatusCode.BadRequest
和nameof(System.Net.HttpStatusCode.BadRequest)
,但是这似乎忽略了较新的约定?
我没有尝试转换返回类型,控制器和动作签名已经很好地定义了。我想确保我使用一种简洁的方法来容纳期望一个对象具有所需字段的现有消费者,并且我希望在没有魔术字符串或多个不相关类的情况下做到这一点。
我认为用例比不常见,并且存在更复杂的工具来实现这一目标?