Как создать API REST для приложения Ruby?

Архитектура является базовым навыком для разработчиков программного обеспечения. Может быть несколько редких случаев, когда могло бы иметь смысл для архитектора не кодировать, но я не могу вспомнить никогда обнаружение с такими случаями в моем собственном опыте.

архитектор должен или кодировать на проекте или как минимум, быть полностью способен к кодированию на проекте. Вторая часть этого означает, что они должны смочь кодировать использование инструментов и методов, используемых остальной частью команды. (Не продолжая кодировать, должно быть очень трудно поддержать эти навыки.)

Наконец, когда архитекторы ответственны за выбор инструментов и методов, которые будут использоваться другими, они не могут сделать такой выбор хорошо, на самом деле не используя предложенные инструменты. В этом сценарии архитектор некодирования быстро ухудшается в заостренного волосатого босса с грудой брошюр по его столу.

10
задан StackedCrooked 2 November 2009 в 10:23
поделиться

2 ответа

Вы можете использовать Sinatra для очень быстрого написания небольших специализированных веб-приложений и легких служб REST.

В документации раздел они выделяют пару видеороликов по этому поводу:

  • Адам Виггинс и Блейк Мизерани представляют Синатру и RestClient на RubyConf 2008 . Доклад подробно описывает основную философию Синатры и размышляет об использовании Sinatra для создания приложений реального мира.

  • Адам Киз и прагматичные программисты начали серию скринкастов о Sinatra. Первые два эпизода посвящены созданию крошечного веб-приложения и созданию службы REST. 5 долларов за штуку.

Вы также можете использовать рельсы , но это немного перебор ...

26
ответ дан 3 December 2019 в 13:37
поделиться

Я тоже использую Sinatra для разработки простых решений REST.

Дело в том, что Sinatra очень гибкий во многих отношениях. Вы можете построить структуру своего проекта так, как вам больше нравится. Обычно у нас есть каталоги lib / tmp / и public /, а также файлы config.ru и app.rb, но, как я сказал, вы можете создавать все, что захотите.

Следует помнить, что Sinatra не является обычным MVC только потому, что de M (модель). Чтобы использовать sinatra для простых веб-приложений CRUD, вам нужно просто загрузить драгоценный камень.

требуется 'datamapper'

или другой вариант на ваш выбор, например sqlite, продолжение, ActiveRecord, ...

и вуаля, у вас есть ORM под вашим Sinatra.

В Sinatra вы определяете маршруты, которые подчиняются четырем основным предложениям GET, PUT POST и DELETE.


require 'rubygems'
require 'sinatra'

get '/' do
  erb :home
end

get '/API/*' do
  api = params[:splat]
  @command_test = api[0]
  @command_helo = api[1]
  #...
  def do_things(with_it)
    #...
  end
  #...
end

__END__

@@home

helo

Итак, вы поняли идею: )

Наконец. Изучение Sinatra - не пустая трата времени, потому что оно простое и дает (мне) основы того, что такое веб-программирование. Я думаю, что в ближайшем будущем можно будет «внедрить» приложения Sinatra (Rack Apps) в проект Rails 3.

Загляните в github, там вы найдете множество проектов, созданных с помощью Sinatra. Для дальнейшего чтения посетите страницу Sinatra :: Base.

7
ответ дан 3 December 2019 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: