2014-09-23 49 views
0

我正在编码一个小型的宁静服务器。 我可以使用http适当的响应代码处理错误,并且我可以在响应正文中放置一条错误消息。假设某些客户端试图访问http://very/reserved/area没有所需的特权:在200 OK成功操作后使用http响应标头定制消息

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

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

X-Status-Message或类似的东西。

这种做法没有任何问题。

在这种特殊情况下,虽然主体可以包含刚刚创建的资源作为200回复​​的一部分(实际上也没有什么错误),但实践是返回一个位置标题和一个指向新资源的链接,该表示可以被检索。

记录标题落在资源及其表示的外部文档上。