我正在使用Ruby on rails编写REST服务器。
与客户端的一些通信是通过将某些自定义标头设置为预定义值。在某些情况下,服务器应该使用空字符串的自定义标头进行响应。我的问题是rails似乎省略了响应中的任何空白标题(它甚至会省略空格标题)。
这是我目前的代码:
config.action_dispatch.default_headers = {
'X-WOPI-EmptyLock' => "",
'X-WOPI-FullLock' => "astring",
'Random-header' => "with value",
'Random-empty-header' => ""
}
但响应只包含非空字符串的标题:
Resulting headers in response Curl response headers
是否有某种方法可以将rails配置为仍然发送标头,即使它们是空的?
答案 0 :(得分:0)
您可以在custom headers
文件中设置config/application.rb
前:
config.action_dispatch.default_headers = {
'Custom-Header1' => "", # without value
'Custom-Header2' => "with value"
}
注意:在进行更改后重新启动rails服务器
回应
Custome-Header1 →
Custome-Header2 →with value
更新回答
以下是controller code
,如下所示
def home
response.headers["My-Custome-Header"] = "With value"
response.headers["My-Custome-Header-2"] = "" # Without value
render json: {data: "It's working my friend"}
end
并且需要输出,如屏幕截图所示
希望这会对你有所帮助。