Introdução ao Rails API-only
  • Introdução
  • O que é o Rails for API-only Applications?
  • Conhecendo nosso projeto
  • Criando e analisando nosso primeiro projeto API
  • Criando o primeiro CRUD/Scaffold
  • Exercícios (Aula 01 a 05)
  • cURL e Postman
  • Recursos
  • Analisando as Requisições HTTP
  • Analisando as Respostas HTTP
  • Conhecendo os Verbos HTTP
  • Exercícios (Aula 06 a 10)
  • REST? RESTfull?
  • Conhecendo os HTTP Status Codes
  • HTTP Status Codes no Ruby on Rails
  • Map/Collect
  • Render JSON & Fix Auto-Reloading
  • Exercícios (Aula 11 a 15)
  • Adicionando um novo CRUD
  • Render JSON com associações
  • Usando POST com associações (belongs_to)
  • Entendendo o I18n
  • I18n para data
  • Exercícios (Aula 16 a 20)
  • Novo model Phones (Associação has_many)
  • I18n para data (as_json)
  • Nested Attributes com has_many
  • CRUD com nested attributes
  • Novo model Address (Associação has_one)
  • Rails Console com has_one
  • CRUD com has_one
  • CORS
  • Exercícios (Aula 21 a 28)
Active Model Serializers
  • Active Model Serializers
  • i18n + json_api Adapter
  • Associações
  • Exercícios (Aula 29 a 31)
  • Visualizando Campos Associados
  • Informações extras no JSON
  • Links (HATEOAS)
  • AMS e Links (HATEOAS)
  • Correções, Ajustes e Foreman Gem
  • Media Types
  • Correções do Serializer
  • Exercícios (Aula 32 a 38)
  • Desserialização com AMS
  • CRUD com AMS
  • Relacionamentos, Rotas, JSON-API e AMS
  • Relacionamentos e Rotas (belongs_to)
  • Relacionamentos e Rotas (has_many)
  • Relacionamentos e Rotas (has_one)
  • CRUD, Nested Attributes e AMS
  • CRUD AMS com has_one (Address)
  • CRUD AMS com has_many (Phones)
  • Reflexão
Autenticação
  • Autenticação HTTP
  • Autenticação HTTP no Rails
  • Autenticação baseada em Token
  • Autenticação baseada em Token (Rails)
  • JWT
  • JWT (Ruby)
  • JWT (Rails)
  • Devise Token Auth (Configuração)
  • Devise Token Auth (Usando)
Versionamento
  • Estratégias de Versionamento
  • Query Paramenter
  • Versionando os controllers
  • Gem Versionist
  • HTTP Header
  • O arquivo Hosts
  • Hostname ou Subdomínio
  • Segmento de URL
Ajustes e Paginação
  • Desmistificando o Accept x Content-Type
  • Paginação via HEADERS
  • Paginação via JSON API
Erros amigáveis
  • Erros, to_hash e flatten
  • Erros com JSON API
Caching
  • Caching
  • Cache-Control
  • ETag e Last-Modified
Rack
  • Rack e Rack Middleware
  • Criando um Rack Middleware
TDD com Rails API only
  • Testando APIs
  • Rspec (HTTP Status Code)
  • Rspec (HTTP Status Code e .rspec)
  • Um pouco sobre Hashes
  • Testando JSON
  • Melhorando a classe Hash
  • Fim!