Criando API’s com Rails
Ricardo Silva
com uma abordagem simples e descomplicada :)
Ricardo Silva
/ricardo.b.silva13
@ricardobsilva
Tá, mas o que significa API? Para que serve? O que faz?
Application Programming Interface
O que significa?
Application Programming Interface ou, em português, “Interface de Programação de Aplicativos”.
fonte: http://www.tecmundo.com.br/programacao/1807-o-que-e-api-.
htm
A API serve para interligar diversas funções em uma aplicação (por exemplo, busca de imagens,
notícias, artigos, etc.) de modo a possibilitar que possam ser utilizadas em outras aplicações.
Para que serve?
O que faz?
JSON
Porque usar Rails para desenvolver minhas API’s?
Rails é ...
● fácil de aprender
● produtivo
● simples
● divertido
● e quase tão bom quanto as
canções do Oasis
Um pouco sobre o Rails (e Ruby)
Ruby é uma linguagem : ruby é uma
linguagem dinâmica e open source com foco
na simplicidade e na produtividade
Rails é um framework : Rails é um framework escrito em Ruby
que facilita o desenvolvimento da sua aplicação web. Rails usa
de forma inteligente as capacidades unicas da linguagem Ruby,
que é o que a torna tão diferente.
Chega de teoria,
vamos começar
rails new api
rails g model person name:string email:string hability:string local:string obs:text
rake db:migrate
Gerando nossos modelos
active model serializer
Gems necessárias
bundle
Versionando sua API
Criando os diretórios responsáveis
pelo versionamento da API
dentro de controller, criamos:
‘api/v1’
namespace :api , defaults: {format: :json} do
namespace :v1 do
end
end
em ‘config/routes.rb’ crie o caminho que
aponta para versão dos seus serviços
Gerando nossos serviços
rails g scaffold_controller 'api/v1/person'
alguns ajustes no controller
antes depois
antes depois
antes depois
antes depois
antes depois
antes depois
antes depois
declarando as rotas
em ‘config/routes.rb’
primeiros testes
[POST] criando um registro
esse é o resultado
Ok, criou. Cadê o restante dos dados?
Um ultimo ajuste
[POST] mais uma vez
agora sim ! o/
o que mais estudar?
● Arquitetura REST
● Autenticação via TOKEN
● Cliente-servidor
● TDD
FIM

Rest API's with Ruby on Rails