API em ruby ~ Parte 1

Jessica Chaves
bionexo
Published in
3 min readJan 22, 2018

No time em que trabalho aqui na Bionexo, estamos criando uma nova API para os nossos clientes, dentro desse clima e contexto decidi escrever esse post para explicar passo a passo como construir uma simples API em ruby.

ah não, só construiremos uma simples API em ruby

De acordo com o guia oficial do rails, para criar uma API nós precisamos passar a opção — api quando estiver criando o projeto, dessa forma vamos criar um projeto com configurações mais enxutas, conforme o comando abaixo:

#criando o projeto
$ rails new basic-api --api
#acesse o projeto
$ cd basic-api

O primeiro comando cria o projeto em rails, o segundo acessa o projeto que acabamos de criar.

Agora vamos criar uma entidade para manipular os dados.

$ rails g model Post title:string body:string$ rails db:migrate

Na primeira linha estamos criando a entidade Post com os campos title(título) e body(corpo) e depois executando o comando para criar a tabela no banco de dados.

Na model, vamos criar uma validação para futuramente testar as rotas da API.

class Post < ApplicationRecord
validates :title, presence: true
end

Agora abra o arquivo db/seeds.rb e vamos atualizar para gerar uma pequena massa de dados.

(1..10).each do |count|
Post.create(title: "titulo #{count}", body: "conteudo")
puts "Post #{count} created!"
end

Agora vamos executar o comando abaixo, para executar as informações do nosso seeds.

$ rails db:seed

Crie o arquivo app/controllers/api/v1/posts_controller.rb. E agora vamos criar o primeiro método.

module Api
module V1
class PostsController < ApplicationController
def index
posts = Post.all.order('created_at desc')
render json: { data: posts }, status: :ok
end
end
end
end

Vamos configurar as rotas de acesso a nossa API, abra o arquivo config/routes.rb e altere conforme abaixo:

Rails.application.routes.draw do
namespace 'api' do
namespace 'v1' do
resources :posts
end
end
end

Agora vamos utilizar o comando que inicia a nossa API.

$ rails s

Vamos usar o postman para validar os fluxos. O postman é uma ferramenta para analisar/testar API's rest. Ele oferece uma simples interface para realizar requests, sem precisar escrever muito código apenas para testar as funcionalidades de sua API. Abra o postman e configure conforme imagem abaixo:

Ao clicar em Send, deverá retornar os dados que criamos, veja:

Caso você queria testar a validação que incluímos na model Post, basta criar o método create e testar, o resultado será algo assim:

Título é obrigatório :)

Agora informando o title no json, o registro é criado, veja:

Se você quiser rodar na sua maquina, o código está disponível neste repositório.

Espero que vocês tenham uma noção inicial de como começar a construir um API com rails. Se quiser seguir o passo a passo e depois comentar se deu tudo certo ou se você fez algo diferente, ficarei muito feliz. :)

Para ficar com músculos fortes devemos nos exercitar, mantendo uma rotina de treino os músculos vão crescer e se desenvolver. Aprender a programar é o mesmo processo, quanto mais tempo você gastar codando, o mais competente você vai se tornar. Você colhe o que você plantar.

--

--

Jessica Chaves
bionexo

Eu curto muito ler e escrever sobre gestão para equipes de desenvolvimento de software.