Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
créer son API              Raphaël Audet              Pierre Renaudin              Apéro Ruby Bordeaux, 10 Janvier 2011mar...
créer son API        • Pourquoi créer son API ?        • Quelles sont les solutions qui existent ?        • Démo d’une API...
Pourquoi une API ? 1/2             • Pour ouvrir son application à des acteurs                      externes              ...
Pourquoi une API ? 2/2             • Pour séparer les clients ( web, mobile ...) du                      serveur et amélio...
Solution 1 : utiliser rails    class User < ActiveRecord::Base       field :first_name       Texte       field :last_name ...
Solution 2 : utiliser acts_as_api    class User < ActiveRecord::Base       acts_as_api       api_accessible :public do |t|...
Solution 3 : utiliser RABL  class UsersController < ApplicationController      def show       render @user      end       ...
Démo - 1mardi 10 janvier 12
Démo - 2mardi 10 janvier 12
Démo - 3                      controllers/messages_controller.rbmardi 10 janvier 12
Démo : RABL WAY ! 4                      Gemfile  views/messages/index.rabl    messages_controller.rbmardi 10 janvier 12
Démo - 5mardi 10 janvier 12
Démo : autre exemple 6                      views/users/base.json.rablmardi 10 janvier 12
Références  •Rabl : https://github.com/nesquena/rabl  •acts_as_api : https://github.com/fabrik42/acts_as_apimardi 10 janvi...
Upcoming SlideShare
Loading in …5
×

Apéro ruby bordeaux créer son api avec ruby - 9 01 2012

2,979 views

Published on

Apéro ruby bordeaux créer son api avec ruby - 9 01 2012

  1. 1. créer son API Raphaël Audet Pierre Renaudin Apéro Ruby Bordeaux, 10 Janvier 2011mardi 10 janvier 12
  2. 2. créer son API • Pourquoi créer son API ? • Quelles sont les solutions qui existent ? • Démo d’une API réalisée avec RABLmardi 10 janvier 12
  3. 3. Pourquoi une API ? 1/2 • Pour ouvrir son application à des acteurs externes api.twitter.com site de recherche blog app facebook sur twittermardi 10 janvier 12
  4. 4. Pourquoi une API ? 2/2 • Pour séparer les clients ( web, mobile ...) du serveur et améliorer les performances api.twitter.com client web client mobile client iphonemardi 10 janvier 12
  5. 5. Solution 1 : utiliser rails class User < ActiveRecord::Base field :first_name Texte field :last_name field :address def name self.first_name + + self.last_name { end end id: ‘28ds84dsd’, models/users.rb first_name: ‘Ted’, last_name: ‘Penn’, class UsersController < ApplicationController address: ‘3 rue Anchor...’ def show } render :json => @user end endcontrollers/users_controller.rbmardi 10 janvier 12
  6. 6. Solution 2 : utiliser acts_as_api class User < ActiveRecord::Base acts_as_api api_accessible :public do |t| t.add :id t.add :name end def name { self.first_name + + self.last_name end id: ‘28ds84dsd’, end name: ‘Ted Penn’ models/users.rb } class UsersController < ApplicationController def show render_for_api :public, :json => @user end endcontrollers/users_controller.rbmardi 10 janvier 12
  7. 7. Solution 3 : utiliser RABL class UsersController < ApplicationController def show render @user end { end id: ‘28ds84dsd’, name: ‘Ted Penn’,controllers/users_controller.rb pets: [ {name: ‘choupette’}, attributes :id, :name {name: ‘choupy’} child :pets do ]} extends ‘pets/base’ end views/users/show.json.rablmardi 10 janvier 12
  8. 8. Démo - 1mardi 10 janvier 12
  9. 9. Démo - 2mardi 10 janvier 12
  10. 10. Démo - 3 controllers/messages_controller.rbmardi 10 janvier 12
  11. 11. Démo : RABL WAY ! 4 Gemfile views/messages/index.rabl messages_controller.rbmardi 10 janvier 12
  12. 12. Démo - 5mardi 10 janvier 12
  13. 13. Démo : autre exemple 6 views/users/base.json.rablmardi 10 janvier 12
  14. 14. Références •Rabl : https://github.com/nesquena/rabl •acts_as_api : https://github.com/fabrik42/acts_as_apimardi 10 janvier 12

×