ruby – 使用Sinatra创建一条路径,只接受某种内容类型
发布时间:2020-12-17 04:22:01 所属栏目:百科 来源:网络整理
导读:我正在尝试创建一个使用Sinatra的路由,它只接受带有Content-type的POST:application / json但没有成功. 我的方法如下: post '/dogs',:provides = :json do # returns here a json responseend 用curl测试,我看到:provide = :json配置使用Content-Type:a
我正在尝试创建一个使用Sinatra的路由,它只接受带有Content-type的POST:application / json但没有成功.
我的方法如下: post '/dogs',:provides => :json do # returns here a json response end 用curl测试,我看到:provide => :json配置使用Content-Type:application / json响应的路由. 这是正确的,因为我还希望用POST请求的JSON消息进行响应,但我真的需要这条路由只响应具有Content-Type:application / json的POST请求,而不是响应其他人(例如Content-Type) :application / xml). 在Sinatra中是否有任何方法限制路由只接受具有特定内容类型的请求? 解决方法
请求不包含“Content-Type”标头,而是包含“Accept”. Sinatra基本上只响应包含“application / json”的“Accept”请求.只想确认一下:
post '/gods',:provides => :json do pass unless request.accept? 'application/json' ... end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |