RS - ćwiczenie pierwsze
Stworzenie prostej usługi w technologii REST
Poniższe ćwiczenie wykorzystuje język programowania Ruby oraz biblioteke sinatra.
Serwisy RESTowe zakładają cztery postawowe operacje:
- GET - pobieranie wartosci zaobu dostępnego pod określoną ścieżką (e.g. http://myhost/author/marek)
- POST - stworzenie bądz edycja zasobu (e.g. http://myhost/author/new, http://myhost/author/marek/edit)
- PUT - storzenie zaosbu pod określoną ścieżką (e.g. http://myhost/author/kuba)
- DELETE - skasowanie zasobu znajdującego się pod podaną ścieżką (e.g. http://myhost/author/marek)
Biblioteka sinatra jest DSLem (Domain Specific Language) ułatwiającym tworzenie serwisów restowych. Poniżej został przedstawiony najprostrzy przykład wykorzystania tej biblioteki. Celem zadania jest stowrzenie zestawu serwisów restowych umożliwiających zarządzaniem biblioteki. Serwisy restowe powinny umożliwiać dodawnie/edycje/usówanie autorów oraz napisanych przez nich książek.
require 'rubygems'
require 'sinatra'
get '/hi' do
"Hello World!"
end
get '/hello/:name' do
# matches "GET /hello/foo" and "GET /hello/bar"
# params[:name] is 'foo' or 'bar'
"Hello #{params[:name]}!"
end
Uruchomienie aplikacji w ruby
ruby hi.rb
Do testowania stworzonych serwisów restowych można wykorzystać zarówno przeglądarke (wywolania typu GET) lub biblioteke curl. Poniżej można znaleść kilka przykładów użycia tej biblioteki:
- GET: curl http://myhost/author/marek
- POST: curl -X POST -d "message body" http://myhost/author/new
- PUT: curl -X PUT -d "message body" http://myhost/author/marek
- DELETE: curl -X DELETE http://myhost/author/marek
Marek Kasztelnik