Sinatra视图和restapi
我是新来的,但不是ruby的新手 我有一个关于西纳特拉的小问题。 如果我想使用RESTAPI功能从源(如mysql)生成数据。我如何决定使用rest响应(仅json或其他格式的值)或视图(html.erb) routes.rbSinatra视图和restapi,rest,sinatra,erb,Rest,Sinatra,Erb,我是新来的,但不是ruby的新手 我有一个关于西纳特拉的小问题。 如果我想使用RESTAPI功能从源(如mysql)生成数据。我如何决定使用rest响应(仅json或其他格式的值)或视图(html.erb) routes.rb get '/api/movies/:id' do movie ||= Movie.get(params[:id]) || halt(404) format_response(movie, request.accept) end def format_respon
get '/api/movies/:id' do
movie ||= Movie.get(params[:id]) || halt(404)
format_response(movie, request.accept)
end
def format_response(data, accept)
accept.each do |type|
return data.to_xml if type.downcase.eql? 'text/xml'
return data.to_json if type.downcase.eql? 'application/json'
return data.to_yaml if type.downcase.eql? 'text/x-yaml'
return data.to_csv if type.downcase.eql? 'text/csv'
return data.to_json
end
end
响应\u格式.rb
get '/api/movies/:id' do
movie ||= Movie.get(params[:id]) || halt(404)
format_response(movie, request.accept)
end
def format_response(data, accept)
accept.each do |type|
return data.to_xml if type.downcase.eql? 'text/xml'
return data.to_json if type.downcase.eql? 'application/json'
return data.to_yaml if type.downcase.eql? 'text/x-yaml'
return data.to_csv if type.downcase.eql? 'text/csv'
return data.to_json
end
end
类似:(按路线决定)
或类似:(在助手中决定)