Простой RESTful api сервер на Ruby (Sinatra)

от автора

Допустим возникла задача написать простой RESTful api сервер для iOS/Android устройств.

Что дано:
База данных интернет-магазина (базу трогать нельзя)
Инструментарий:
Sinatra, mysql2, json

Количество строк: 47
Время: ~ 5 мин

# Simple api server require 'rubygems' require 'sinatra' require 'mysql2' require 'json'  db = Mysql2::Client.new( 	:host => 'localhost', 	:username => 'root', 	:password => 'root', 	:database => 'example', 	:encoding => 'utf8' )  before do 	content_type 'application/json' end  # главная страница get '/' do 	{ :app => 'simple api server', :version => 'v.01', 		:date => Time.new 	}.to_json end  # вернет список категорий get '/categories' do 	db.query("SELECT * FROM `s_categories`", :as => :json) end  # вернет список товаров из категории get '/categories/:id' do 	db.query("SELECT * FROM `s_products` 		LEFT JOIN `s_products_categories` ON `s_products`.`id` = `s_products_categories`.`product_id` 		LEFT JOIN `s_categories` ON `s_products_categories`.`category_id` = `s_categories`.`id` 		WHERE `s_categories`.`id` = 1 LIMIT 10", :as => :json) end  # вернет список товаров get '/products' do 	db.query("SELECT * FROM `s_products` LIMIT 10", :as => :json) end  # вернет товар get '/products/:id' do 	db.query("SELECT * FROM `s_products` WHERE id = #{params[:id]}", :as => :json) end 

С рождеством 🙂

ссылка на оригинал статьи http://habrahabr.ru/post/164941/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *