Criando uma API completa com Rails

API’s são maneiras de conectar serviços, com elas é possível se conectar ao Google para traduzir uma frase ou ao Watson da IBM para realizar um processamento de linguagem natural.

Saber como criar e consumir API’s é fundamental para qualquer programador, então nessa pequena série com 3 vídeos nós vamos ver o que é essencial para criar uma usando Ruby On Rails.

O que vamos utilizar

 

Bootcamp Super Full Stack - Inscrições até 14 de setembro

 

Planejando nossa API


Preparando a base da API

Gerando nosso Projeto       

1 – Rode no console

*Se quiser utilizar o PostgreSQL adicione ao comando:

Versionando a API            

1 – Dentro da pasta controllers crie uma pasta chamada api

2 – Dentro da pasta criada crie uma nova pasta chamada v1

3 – Dentro da pasta criada crie um arquivo chamado api_controller.rb e coloque nele:

Habilitando o CORS          

Acrescente no seu Gemfile:

Instale a gem rodando:

Acrescente no seu config/application.rb:

Configurando o Rack Attack

Acrescente no seu Gemfile:

Instale a Gem:

Acrescente em config/application:

Crie um arquivo chamado rack_attack.rb no seu config/initializers/ e coloque nele:

Instalando o Devise

Acrescente no seu Gemfile:

Instale rodando:

Em config/environments/development.rb coloque:

Rode no console:

Rode no console:

Gere as migrations:


Devise Simple Token      

Adicione ao seu Gemfile:

Instale rodando:

Adicione ao seu User Model:

Rode no console:

Coloque no seu controler api/v1/api_controller.rb:

 


Desenvolvendo e testando nossa API

Gerando nossos Models       

Rode no console:

Adicione ao seu Model Contact:

Adicione ao seu Model User:


Gerando nossos Controllers     

Rode no console:

Coloque no controller gerado:

Ajustando as Rotas    

Testando nossos endpoints     

Teste usando Postman ou CURL como no vídeo

Desafios

1 – Paginar os retornos do endpoint /contacts

2 – Criar a estrutura para permitir a inclusão de multiplos endereços nos Contatos


Link para o Gihtub: https://github.com/leonardoscorza/api-completa-rails

 

Gostou da série? Comenta aí em baixo para eu saber. 🙂
Lembrando toda Quinta às 20h30 tem OneBitTalk e toda Sexta às 19h00 tem um novo tutorial para você aqui.

 

Obrigado pela sua presença,
Grande abraço!

Leonardo Scorza

 

outubro 1, 2017

5 responses on "Criando uma API completa com Rails"

  1. Olá, ótimo artigo.

    Mesmo copiando e colando, estou recebendo este erro:

    edsonlima@MacPro.local:~/projetos/rails/OneBitContacts$rails generate devise:install
    /Users/edsonlima/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load’: /Users/edsonlima/projetos/rails/OneBitContacts/config/initializers/rack_attack.rb:33: syntax error, unexpected end-of-input, expecting keyword_end (SyntaxError)

  2. Boa tarde, Artigo excelente,

    vi que no final do video 2, voce faz um teste criando um usuario pelo rails c, mas quando faço o mesmo teste ele parece não estar ligado a base de dados, que no meu caso deixei o padrão sqlLite, porem eu dou um create e ele me retorna o que enviei como parametro e os outros campos do User com nil, mas não grava e nem gera o created_at e nem o autenticate.

    Uma coisa que notei é que quando voce da o rails c, aparece um numero como prefixo, e o meu esta aparecendo irb (que é o interativo do ruby), sera que por isso não esta gravando? Se sim, qual poderia ser o problema?

    Desde já grato.

    Abraço.

  3. Achei o problema, era o banco de dados do sqlite que estava errado no database.yml. Tudo certo

    Abraço.

  4. Cara estava a seguir o tutorial e ao fazer o teste esta a me retornar isso
    “status”: 404,
    “error”: “Not Found”,
    “exception”: “#”,

    o get que estou a testar com ele é “http://localhost:3000/api/v1/contacts.json”

Deixe uma resposta

Feito com s2 por OneBitCode
%d blogueiros gostam disto: