Desenvolvendo APIs Sem Arrependimento
Desenvolvendo APIs Sem Arrependimento
Todo mundo e seus cães querem uma API, é melhor você aprender a desenvolvê-las.
Sobre o Livro
Eu desenvolvo APIs há vários anos e elas têm se tornado cada vez mais comum na vida dos desenvolvedores server-side graças a ascensão dos frameworks JavaScript, aplicativos móveis e arquiteturas centradas em APIs. Por um lado você apenas captura os dados de uma fonte e os repassa como JSON, mas sobreviver às mudanças na lógica de programação, atualizações no esquema do banco de dados, novidades e deprecações pode rapidamente complicar as coisas.
Descobri que a maioria dos recursos disponíveis são incompletos ou voltados unicamente para um framework. Muitos livro e tutoriais usam maçãs e peras como exemplos, que não são concretos o suficiente, ou falam como se listar "/users" e "users/1" fossem os únicos pontos de destinos que você precisará acessar em uma API. Neste último ano eu trabalhei em uma empresa chamada Kapture, onde minha principal função foi herdar, refazer, manter e desenvolver uma API com diversos pontos de destino expondo uma grande quantidade de casos de uso.
A API em questão estava em sua versão 2 e usava o framework FuelPHP quando entrei na empresa. Ela utilizava um ORM que já foi descontinuado por seu desenvolvedor original. A Kapture estava no processo de refazer sua aplicação para iPhone para implementar novas funções. Eu aproveitei a oportunidade para acabar com essa bagunça e desenvolver a versão 3 usando o Laravel 4, tirando vantagem do seu Roteador, Migração de Banco de Dados, Esquema, Semeador, etc. Agora estamos fazendo o mesmo com a versão 4, mas desta vez não foi preciso reescrever nada; embora algumas funcionalidades sejam diferentes, o repositório da versão 3 foi forcado para a versão 4 e ambas estão sendo mantidas e rodam lado-a-lado nos mesmos servidores de API.
Com as boas práticas e conselhos gerais compartilhados neste livro, você que é novo no desenvolvimento de API terá uma boa base para começar. Do outro lado, ao relatar algumas histórias horripilantes (e como elas foram superadas ou evitadas) espero ajudá-lo a evitar as mesmas armadilhas em que eu caí, quase caí ou presenciei outros caírem. Este livro falará sobre a teoria do planejamento e desenvolvimento de APIs em qualquer linguagem de programação ou framework. Estas teorias serão aplicadas em exemplos em PHP. Evitarei código em excesso para que você não durma e também para manter os programadores de outras linguagens contentes.
Alguns do assuntos mais avançados cobertos neste livro incluem: testando pontos de destino, incorporando dados de objetos de um modo consistente e escalável, paginando respostas (incluindo objetos incorporados) e links HATEOAS.
Próximos Capítulos- Documentação
- HATEOAS
- Versionamento de APIs
Este livro também está disponível nestes pacotes:
Sumário
- Nota do Autor
- Introdução
- Código dos Exemplos
-
1 Semeando o Banco de Dados
- 1.1 Introdução
- 1.2 Criando Semeadores
- 1.3 É Isso Aí
- 1.4 Dados Secundários
- 1.5 Quando Executar Semeadores?
-
2 Planejando e Criando Pontos de Acesso
- 2.1 Requerimentos Funcionais
- 2.2 Teoria dos Pontos de Acesso
- 2.3 Planejando Pontos de Acesso
-
3 Teoria de Entrada e Saída
- 3.1 Requisições
- 3.2 Respostas
- 3.3 Suportando Formatos
- 3.4 Estrutura do Conteúdo
-
4 Códigos de Status, Erros e Mensagens
- 4.1 Códigos de Status HTTP
- 4.2 Códigos e Mensagens de Erro
- 4.3 Armadilhas Comuns
-
5 Testando Pontos de Acesso
- 5.1 Conceitos & Ferramentas
- 5.2 Preparação
- 5.3 Iniciando
- 5.4 Funcionalidades
- 5.5 Cenários
- 5.6 Preparando o Behat
- 5.7 Executando o Behat
-
6 Exibindo Dados
- 6.1 O Método Direto
- 6.2 Transformações com Fractal
- 6.3 Ocultando Atualizações no Esquema
- 6.4 Exibindo Erros
- 6.5 Testando Esta Saída
- 6.6 Dever de Casa
-
7 Relações Entre Dados
- 7.1 Introdução
- 7.2 Sub-Recursos
- 7.3 Arrays de Chaves Externas
- 7.4 Documentos Compostos (Carregamento Lateral)
- 7.5 Documentos Incorporados (Aninhamento)
-
8 Depurando
- 8.1 Introdução
- 8.2 Depurando na Linha de Comando
- 8.3 Depurando no Navegador
- 8.4 Depurando Através da Rede
-
9 Autenticação
- 9.1 Introdução
- 9.2 Quando a Autenticação É Útil?
- 9.3 Diferentes Métodos de Autenticação
- 9.4 Implementando um Servidor OAuth 2.0
- 9.5 Onde o Servidor OAuth 2.0 Vive?
-
10 Paginação
- 10.1 Introdução
- 10.2 Paginadores
- 10.3 Deslocamentos e Cursores
- 11 Em Breve
A garantia Leanpub incondicional, sem riscos, de 100% de satisfação
Durante 60 dias da data de compra você pode solicitar o reembolso total de qualquer compra Leanpub, em dois cliques. Nós processamos os reembolsos manualmente, então eles podem demorar alguns dias para aparecer. Veja os termos completos.
Ganhe $8 em uma compra de $10 e $16 em uma compra de $20
Pagamos 80% de royalties em compras de $7,99 ou mais e 80% de royalties menos uma taxa fixa de 50 centavos em compras entre $0,99 e $7,98. Você ganha $8 em uma venda de $10 e $16 em uma venda de $20. Portanto, se vendermos 5000 cópias não reembolsadas do seu livro por $20, você ganhará $80,000.
(Sim, alguns autores já ganharam muito mais do que isso no Leanpub.)
Na verdade, os autores ganharammais de 13 milhões de dólares escrevendo, publicando e vendendo no Leanpub.
Saiba mais sobre escrever no Leanpub
Atualizações grauitas. Sem DRM.
Se você compra um livro da Leanpub, você recebe atualizações gratuitas enquanto o autor atualizar o livro! Muitos autores utilizam a Leanpub para publicar os seus livros em andamento, enquanto eles estão os escrevendo. Todos os leitores recebem atualizações gratuitas, não importa quando ou por quanto eles compraram o livro (até mesmo de graça).
A maioria dos livros Leanpub estão disponíveis em PDF (para computadores) e EPUB (para telefones, tablets, e Kindle). Os formatos que um livro inclui são exibidos no top direito dessa página.
Por último, livros Leapub não têm nenhuma proteção anti-cópias DRM sem sentido, então você pode facilmente lê-los em qualquer dispositivo suportado.
Aprenda mais sobre os formatos de ebook da Leanpub e aonde lê-los