在200 OK成功操作后,使用http响应标头进行自定义消息

时间:2014-09-23 21:43:59

标签: rest http http-headers

我正在编写一个小型的宁静服务器。 我可以使用http适当的响应代码处理错误,我可以在响应正文中放置一条错误消息。假设某个客户端在没有所需权限的情况下尝试访问http://very/reserved/area

Status: 401
Body: You are not allowed to perform this operation

我想为200 - OK回复添加一条消息,例如假设一些客户发布了一些用户的数据来创建一个新帐户:

Status: 200
Body (JSON): {
    username: 'a fresh added user',
    email: 'his email address',
    name: 'his name'
    etc
}

__some_http_header__: 'A new user has been created.'

我知道我可以

Status: 200
    Body (JSON): {
        data: {
        username: 'a fresh added user',
        email: 'his email address',
        name: 'his name'
        etc
        },
        message: 'A new user has been created.'
    }

但这正是我想要避免的。

通过这种方式,我可以保持响应数据的轻量级,而无需元数据开销。

问题:这是一个好习惯吗?哪个标题适用于此目的?

1 个答案:

答案 0 :(得分:1)

没有理由不为此目的创建标题。

X-Status-Message等等。

这种做法没有错。

在这种特定情况下,虽然正文可以包含刚刚作为200回复​​的一部分创建的资源(也没有真正的错误),但实践是返回一个Location头,其中包含指向新资源的链接,可以检索表示。

记录标题取决于资源及其表示的外部文档。