问题
如何修改状态代码文本(描述/标题)?
示例
例如:我想将
200 (Ok)
更改为200 (My Custom Text)
描述
我想创建一个带有自定义状态代码(未保留)431 的 HTTP 响应。我想修改它的文本:
200 (OK)
400 (Bad Request)
431 (My message here)
我已经尝试过:
var response = new HttpResponseMessage()
{
StatusCode = (HttpStatusCode) 431,
};
response.Headers.Add("Status Code", "431 My custom text"); // This throws error.
只需在初始化程序中添加 ReasonPhrase :
var response = new HttpResponseMessage()
{
StatusCode = (HttpStatusCode)431,
ReasonPhrase = "your text"
};
它定义了带有状态代码的消息文本
解决此问题的一种方法是跳过对您添加的标头的验证。这可以使用 TryAddWithoutValidation 方法来完成。
var response = new HttpResponseMessage()
{
StatusCode = (HttpStatusCode) 431,
};
response.Headers.TryAddWithoutValidation ("Status Code", "431 My custom text");
如果您只返回状态代码和消息,您可以执行以下操作:
return this.Ok("My Custom Text");
或
return this.Unauthorized("Invalid Pin");
这将更改响应文本。