服务堆栈请求过滤器属性自定义消息
Service Stack Request Filter Attribute custom Message
我正在使用 RequestFilterAttribute 创建一个自定义 Filter 属性来检查 Autentication 等。我使用 401 UnAuthorized Message 响应未验证的登录,对于 Forbiddens,我发送 403 Forbidden。如何使用 401 和 403 消息发送自定义消息,我想发送自定义消息,是否使用该状态描述?还是有其他方法可以让我添加自定义消息?
public override void Execute(IHttpRequest req, IHttpResponse res, object requestDto)
{
//Return unauthorized
res.StatusCode = (int)HttpStatusCode.Unauthorized;
res.StatusDescription = "Not Authorized";
res.EndRequest();
}
是的,IResponse.StatusDescription
用于更改 HTTP 响应中的状态描述。
如果您想在 HTTP 响应正文中发回更多结构化数据,您仍然可以写入响应,例如这也序列化了一个自定义 ErrorResponse
DTO:
var errorResponse = new ErrorResponse {
ResposneStatus = new ResposneStatus {
ErrorCode = "CustomErrorCode",
Message = "Custom Message"
}
};
res.StatusCode = (int)HttpStatusCode.Unauthorized;
res.StatusDescription = "Not Authorized";
res.WriteToResponse(req, errorResponse);
我正在使用 RequestFilterAttribute 创建一个自定义 Filter 属性来检查 Autentication 等。我使用 401 UnAuthorized Message 响应未验证的登录,对于 Forbiddens,我发送 403 Forbidden。如何使用 401 和 403 消息发送自定义消息,我想发送自定义消息,是否使用该状态描述?还是有其他方法可以让我添加自定义消息?
public override void Execute(IHttpRequest req, IHttpResponse res, object requestDto)
{
//Return unauthorized
res.StatusCode = (int)HttpStatusCode.Unauthorized;
res.StatusDescription = "Not Authorized";
res.EndRequest();
}
是的,IResponse.StatusDescription
用于更改 HTTP 响应中的状态描述。
如果您想在 HTTP 响应正文中发回更多结构化数据,您仍然可以写入响应,例如这也序列化了一个自定义 ErrorResponse
DTO:
var errorResponse = new ErrorResponse {
ResposneStatus = new ResposneStatus {
ErrorCode = "CustomErrorCode",
Message = "Custom Message"
}
};
res.StatusCode = (int)HttpStatusCode.Unauthorized;
res.StatusDescription = "Not Authorized";
res.WriteToResponse(req, errorResponse);