当我们拿到一个没有内容的响应,204,它带有一个信息“没有内容”,并显示响应覆盖204个状态码消息
Response : #<Net::HTTPNoContent 204 No Content readbody=true>
,而我想类似的回应:
<response>
<request_id>4ccf18f0-e83d-012e-29f7-042b2b8686e6</request_id>
<status_code>204</status_code>
<message>No Offers were found</message>
</response>
我可以覆盖204错误的默认消息。被调用来创建响应的方法。
def generate_success_response_without_data(format, request_id, message)
status_code = 204
format_type_method, options_hash, content_type = get_format_method(format)
data = {
"request_id" => request_id,
"status_code" => status_code,
"message" => message
}
data = generate_data_format(format, data)
resp = [status_code, {"Content-Type" => content_type}, data.send(format_type_method, options_hash)]
# Convert rack response to action controller response
generate_active_controller_response_format(resp)
resp
end
编辑: 如http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
204响应说必须不包括消息正文,因此始终由报头字段之后的第一空行终止。
我们能以某种方式破解并显示一个消息体
我不知道,如果黑客会有所帮助,大部分客户收到204响应时,不会对任何消息体,他们会忽略它(虽然我不知道这一点)。 – Ernest
@Ernest ..yaa我同意你的意见,但在我的情况下,他们期望,这就是我在这里... – Bijendra