Le gem GRAPE prend en charge pour vous toute cette partie interface. Il fournit a votre module une interface REST. Grace à un DSL (Domain Specific language) aussi simple que Sinatra, la déclaration des URL dévient un jeu d'enfant.
ex :
get :home_timeline do
authenticate!
current_user.home_timeline
end
get '/show/:id' do
Tweet.find(params[:id])
end
(source complet ici)Grape est capable de définir des espaces de nommage et des numéros de version.Grape repose en grande partie sur RACK.
Pour un de mes modules, j'avais utilisé sinatra pour la partie REST et cela donnait :
(avec Sinatra)
get '/delete_row' dodbconfig= YAML::load(File.open('database.yml'))schema= Nosql.new(dbconfig)schema.delete_row"{\"reponse\":\"ok\"}"endGRAPE prend à sa charge la partie formatage de la réponse en JSON
Un article en francais ici.
Aucun commentaire:
Enregistrer un commentaire