Download - Rest API's with Ruby on Rails
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
endend
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