【问题标题】:Returning HTTP 403 substatus from Asp.Net WebApi controller从 Asp.Net WebApi 控制器返回 HTTP 403 子状态
【发布时间】:2013-06-21 19:08:24
【问题描述】:

当用户无权执行某些任务时,我想从我的 Asp.Net WebApi 控制器返回 Http 403 错误。

但是,我想在此使用 substatus 来提供有关错误的更多详细信息以及错误消息。

目前,我得到的是

HTTP/1.1 403 Read access forbidden

但我想看到的是

HTTP/1.1 403.2 Read access forbidden

我目前使用的代码:

    [HttpGet]
    public EnrollmentDetail Details(int id)
    {
        var enrollmentDetail = _context.GetEnrollmentDetail(id);

        if (!enrollmentDetail.R)
        {
            throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden)
                {
                    ReasonPhrase = "Read access forbidden"
                });
        }

        return enrollmentDetail;
    }

我在任何地方都找不到有关如何将这些子状态添加到响应中的任何信息。有什么办法可以用内置类来完成吗?如果没有,有没有办法编写一个自定义的HttpException 可以为我做到这一点?

【问题讨论】:

标签: asp.net-web-api http-status-code-403


【解决方案1】:

这是因为子状态不是 HTTP 规范的一部分,因此不应使用。如果您想发送有关您遇到的问题的更多详细信息,请查看Json-problem

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-02-09
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 2020-06-21
    • 2013-06-16
    相关资源
    最近更新 更多