SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Programando java independente da ide
Programando java independente da ideProgramando java independente da ide
Programando java independente da ideHeider Lopes
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvRCiro Matheus
 
Introdução à programação funcional
Introdução à programação funcionalIntrodução à programação funcional
Introdução à programação funcionalGabriel Schade Cardoso
 
Minicurso de Algoritmo de Programação Em Java
Minicurso de Algoritmo de Programação Em JavaMinicurso de Algoritmo de Programação Em Java
Minicurso de Algoritmo de Programação Em JavaAnderson Cirilo Valentim
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosRoney Sousa
 
5. introducao a linguagem c
5. introducao a linguagem c5. introducao a linguagem c
5. introducao a linguagem cEugenio Caetano
 
Uma abordagem funcional para gerenciamento de erros
Uma abordagem funcional para gerenciamento de errosUma abordagem funcional para gerenciamento de erros
Uma abordagem funcional para gerenciamento de errosGabriel Schade Cardoso
 
Lógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisLógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisCarlos Wagner Costa
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoJose Augusto Cintra
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com JavaExercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoInstituto CENTEC
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoRobson Ferreira
 
Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica Yuri Camelo
 

Mais procurados (20)

Programando java independente da ide
Programando java independente da ideProgramando java independente da ide
Programando java independente da ide
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvR
 
Introdução à programação funcional
Introdução à programação funcionalIntrodução à programação funcional
Introdução à programação funcional
 
Dynamic Types no C# 4.0
Dynamic Types no C# 4.0Dynamic Types no C# 4.0
Dynamic Types no C# 4.0
 
Minicurso de Algoritmo de Programação Em Java
Minicurso de Algoritmo de Programação Em JavaMinicurso de Algoritmo de Programação Em Java
Minicurso de Algoritmo de Programação Em Java
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
5. introducao a linguagem c
5. introducao a linguagem c5. introducao a linguagem c
5. introducao a linguagem c
 
Uma abordagem funcional para gerenciamento de erros
Uma abordagem funcional para gerenciamento de errosUma abordagem funcional para gerenciamento de erros
Uma abordagem funcional para gerenciamento de erros
 
Mulheres desenvolvendo C#
Mulheres desenvolvendo C#Mulheres desenvolvendo C#
Mulheres desenvolvendo C#
 
Aula 04
Aula 04Aula 04
Aula 04
 
Lógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisLógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionais
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Aula python
Aula pythonAula python
Aula python
 
Fundamentos de Programação
Fundamentos de ProgramaçãoFundamentos de Programação
Fundamentos de Programação
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com JavaExercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
 
Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de Programação
 
122172 1445
122172 1445122172 1445
122172 1445
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentação
 
Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica
 

Destaque

Funções com Ruby[AULA 5]
Funções com Ruby[AULA 5]Funções com Ruby[AULA 5]
Funções com Ruby[AULA 5]Ricardo Silva
 
Estrutura de repetição com Ruby[AULA-3]
Estrutura de repetição com Ruby[AULA-3]Estrutura de repetição com Ruby[AULA-3]
Estrutura de repetição com Ruby[AULA-3]Ricardo Silva
 
Arrays e Hashes com Ruby[AULA 4]
Arrays e Hashes com Ruby[AULA 4]Arrays e Hashes com Ruby[AULA 4]
Arrays e Hashes com Ruby[AULA 4]Ricardo Silva
 
Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On RailsMilton Moura
 
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on RailsDante Regis
 
Mini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoMini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoAgence Educacional
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webMiguel Galves
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsIntrodução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsJulio Betta
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On RailsAndre Ferraro
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Lindomar ...
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Andre Bernardes
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Segurança em Rails
Segurança em RailsSegurança em Rails
Segurança em RailsJuan Maiz
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Marcelo Bohn
 
The Frog and nigthingale
The Frog and nigthingaleThe Frog and nigthingale
The Frog and nigthingaleMeeth Gayle
 

Destaque (20)

Funções com Ruby[AULA 5]
Funções com Ruby[AULA 5]Funções com Ruby[AULA 5]
Funções com Ruby[AULA 5]
 
Estrutura de repetição com Ruby[AULA-3]
Estrutura de repetição com Ruby[AULA-3]Estrutura de repetição com Ruby[AULA-3]
Estrutura de repetição com Ruby[AULA-3]
 
Arrays e Hashes com Ruby[AULA 4]
Arrays e Hashes com Ruby[AULA 4]Arrays e Hashes com Ruby[AULA 4]
Arrays e Hashes com Ruby[AULA 4]
 
Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On Rails
 
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
 
Mini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoMini-curso RoR - Apresentação
Mini-curso RoR - Apresentação
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsIntrodução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on Rails
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
 
SEA Rails na pratica
SEA Rails na praticaSEA Rails na pratica
SEA Rails na pratica
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Segurança em Rails
Segurança em RailsSegurança em Rails
Segurança em Rails
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014
 
The Frog and nigthingale
The Frog and nigthingaleThe Frog and nigthingale
The Frog and nigthingale
 
Ganesh Updated 2015
Ganesh Updated 2015Ganesh Updated 2015
Ganesh Updated 2015
 

Semelhante a Rest API's with Ruby on Rails

Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Flávio Lisboa
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filhorafarubert
 
Desenvolvendo API's com asp.net 5
Desenvolvendo API's com asp.net 5Desenvolvendo API's com asp.net 5
Desenvolvendo API's com asp.net 5Nicolas Takashi
 
Ruby On Rails: Por que sua Startup deve usar?
Ruby On Rails: Por que sua Startup deve usar?Ruby On Rails: Por que sua Startup deve usar?
Ruby On Rails: Por que sua Startup deve usar?Luiz Carvalho
 
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...iMasters
 
API - Interface de Programação de Aplicativos
API - Interface de Programação de AplicativosAPI - Interface de Programação de Aplicativos
API - Interface de Programação de AplicativosFelipe J. R. Vieira
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Julio Monteiro
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o MercadoJulio Monteiro
 
Soujava -construindo_ap_is_com_a_open_api_spec_e_java
Soujava  -construindo_ap_is_com_a_open_api_spec_e_javaSoujava  -construindo_ap_is_com_a_open_api_spec_e_java
Soujava -construindo_ap_is_com_a_open_api_spec_e_javaRaphael Rodrigues
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercadoelliando dias
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e designJeison Barros
 
Ruby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosRuby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosjpaulolins
 

Semelhante a Rest API's with Ruby on Rails (20)

Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)
 
Rail road
Rail roadRail road
Rail road
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filho
 
Desenvolvendo API's com asp.net 5
Desenvolvendo API's com asp.net 5Desenvolvendo API's com asp.net 5
Desenvolvendo API's com asp.net 5
 
Apis Abertos
Apis AbertosApis Abertos
Apis Abertos
 
Ruby On Rails: Por que sua Startup deve usar?
Ruby On Rails: Por que sua Startup deve usar?Ruby On Rails: Por que sua Startup deve usar?
Ruby On Rails: Por que sua Startup deve usar?
 
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
 
API - Interface de Programação de Aplicativos
API - Interface de Programação de AplicativosAPI - Interface de Programação de Aplicativos
API - Interface de Programação de Aplicativos
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)Introdução ao Ruby on Rails (SOCIESC)
Introdução ao Ruby on Rails (SOCIESC)
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o Mercado
 
Desenvolvimento agil ifc
Desenvolvimento agil ifcDesenvolvimento agil ifc
Desenvolvimento agil ifc
 
Soujava -construindo_ap_is_com_a_open_api_spec_e_java
Soujava  -construindo_ap_is_com_a_open_api_spec_e_javaSoujava  -construindo_ap_is_com_a_open_api_spec_e_java
Soujava -construindo_ap_is_com_a_open_api_spec_e_java
 
Teste Watir
Teste WatirTeste Watir
Teste Watir
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Rails asservice
Rails asserviceRails asservice
Rails asservice
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e design
 
Palestra institucional Interna | Meet and Greet
Palestra institucional Interna | Meet and GreetPalestra institucional Interna | Meet and Greet
Palestra institucional Interna | Meet and Greet
 
Ruby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhosRuby on Rails Colocando a web nos trilhos
Ruby on Rails Colocando a web nos trilhos
 

Rest API's with Ruby on Rails