Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 为Sinatra设置默认内容类型_Json_Ruby_Rest_Sinatra_Content Type - Fatal编程技术网

Json 为Sinatra设置默认内容类型

Json 为Sinatra设置默认内容类型,json,ruby,rest,sinatra,content-type,Json,Ruby,Rest,Sinatra,Content Type,在Sinatra中,是否可以将content\u type“application/json”设为默认值?因为我正在构建REST API。当然,在回调之前将内容类型添加到: class MyApp < Sinatra::Base before do content_type 'application/json' end ... end 对于JSON API,为所有响应设置默认内容类型的最推荐方法是在Sinatra类中添加以下内容: set :default_co

在Sinatra中,是否可以将
content\u type“application/json”
设为默认值?因为我正在构建REST API。

当然,在
回调之前将
内容类型添加到

class MyApp < Sinatra::Base

  before do
    content_type 'application/json'
  end

  ...

end

对于JSON API,为所有响应设置默认
内容类型
的最推荐方法是在Sinatra类中添加以下内容:

set :default_content_type, 'application/json'

它将在您的所有回复中包含
内容类型:application/json
标题。

谢谢!如何创建一个上下文,使before筛选器只应用于一组特定的路由,而不是全部路由?@MattDiPasquale这应该可以做到:@MattDePasqaule您还可以覆盖单个路由中的内容类型。sinatra 1.1支持筛选前模式,因此不需要修补程序。@Konstantin感谢您的提醒,比我的建议好多了。
set :default_content_type, 'application/json'