如何使用 JSON 对象回复简单的 ruby 机架服务器,让我们假设 mt 服务器类似于:
app = Proc.new do |env|
[200, { 'Content-Type' => 'text/plain' }, ['Some body']]
end
Rack::Handler::Thin.run(app, :Port => 4001, :threaded => true)
让我们假设我想要一个 JSON 对象,而不是一些正文:
{
"root": [
{
"function": null
}
]
}
谢谢
在您的项目中包含“json”gem,然后在哈希上调用
#to_json
:
app = Proc.new do |env|
[200, { 'Content-Type' => 'application/json' }, [ { :x => 42 }.to_json ]]
end
请注意,如果您需要
nil
,null
会在 JSON 中翻译为 null
。
对于 Rack-Attack v6 (2024):
Rack::Attack.blocklisted_responder = lambda do |request|
[
429,
{ 'Content-Type' => 'application/json' },
[ { error: "TOO_MANY_FAILED_ATTEMPTS", message: "Wait 1 minute" }.to_json ]
]
end