More than Just Lines on a Map: Best Practices for U.S Bike Routes
Apéro ruby bordeaux créer son api avec ruby - 9 01 2012
1. créer son API
Raphaël Audet
Pierre Renaudin
Apéro Ruby Bordeaux, 10 Janvier 2011
mardi 10 janvier 12
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 RABL
mardi 10 janvier 12
3. Pourquoi une API ? 1/2
• Pour ouvrir son application à des acteurs
externes
api.twitter.com
site de recherche
blog app facebook
sur twitter
mardi 10 janvier 12
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 iphone
mardi 10 janvier 12
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
end
controllers/users_controller.rb
mardi 10 janvier 12
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
end
controllers/users_controller.rb
mardi 10 janvier 12
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.rabl
mardi 10 janvier 12