服务堆栈请求筛选器属性自定义消息

时间:2015-07-26 19:47:52

标签: servicestack

我正在使用RequestFilterAttribute创建一个自定义Filter属性来检查Autentication等。我正在使用401 UnAuthorized Message回复未经过身份验证的登录,而Forbiddens我正在发送403 Forbidden。如何使用401& D发送自定义消息403消息,我想发送自定义消息,我是否使用该状态描述?还是有另一种方式让我添加自定义消息?

public override void Execute(IHttpRequest req, IHttpResponse res, object requestDto)
    {


            //Return unauthorized 
            res.StatusCode = (int)HttpStatusCode.Unauthorized;
            res.StatusDescription = "Not Authorized";
            res.EndRequest();


    }

1 个答案:

答案 0 :(得分:0)

是的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);