-------------- GET /coders ----------->
client server
<-------- <html>...</html> ------------
-------------- GET /coders ----------->
client server (API)
<---- {'coders':['Alice','Bob']} ------
#routes.rb
resources :coders, :only => [:create, :show, :update, :delete]
# POST /coders
# GET /coders/:id
# PUT /coders/:id
# DELETE /coders/:id
# coders_controller.rb
class CodersController < ApplicationController
def show
@coder = Coder.find(params[:id])
respond_to do |format|
format.html
format.json { render :json => @coder.as_json }
end
end
end
#routes.rb
namespace :api do
namespace :v1 do
get '/coders', :to => 'coders#index'
get '/coders/:id', :to => 'coders#show'
end
namespace :v2 do
get '/coders/:id', :to => 'coders#show'
end
end
# GET /api/v1/coders
# GET /api/v1/coders/:id
# GET /api/v2/coders/:id
# GET /api/v2/coders => 404
Pun not intended