O documento apresenta o framework Apigility para desenvolvimento de APIs RESTful. Ele fornece ferramentas como interface gráfica para configuração, autenticação automática, validação de entrada, versionamento, gerenciamento de erros e documentação. O Apigility também permite a criação de serviços conectados a bancos de dados para CRUD via API e geração automática de classes de modelo e recursos.
3. PHP Conference 2015 3
O que é Apigility?
● Plataforma para desenvolvimento de APIs
– REST
– RPC
● Construído com ZF2
● Fornece toda a estrutura básica para API
● Modelo de trabalho
● Documentação automática
4. PHP Conference 2015 4
O que NÃO é o Apigility
● Não é framework
● Não precisa usar ZF
● Não é uma aplicação web
● Não é um middleware
5. PHP Conference 2015 5
Vantagens
● Interface gráfica de configuração
– Porém flexível!
● Autenticação automática
● Validação de entrada
● Versionamento
● Gerenciamento de erros
● Documentação
6. PHP Conference 2015 6
Inteface Apigility
HABILITADA SOMENTE EM DESENVOLVIMENTO!
7. PHP Conference 2015 7
APIs e Serviços
● Separação lógica
● Serviços DB-Connected
– Integração automática com uma tabela da base de
dados
– CRUD via API automático!
– Suporte a principais bases SQL: MySQL,
PostgreSQL, DB2, SQL Server...
12. PHP Conference 2015 12
Negociação de Conteúdo
● HAL
– Hypertext Application Language
– Facilita listagens, paginação e links
– Exposição da API
● Versionamento
– URL - /v1/palestras
– Media Type – application/vnd.api.v1+json
13. PHP Conference 2015 13
Validação
● Configuração de validação para todos os
campos
● Resposta automática com mensagens de erro
● Validators ZF2 prontos
● Novos validators fáceis de integrar
15. PHP Conference 2015 15
E o código?
● Arquivos gerados
para cada resource
● Geração de classes
de model
● Flexível, pode ser
substituido por
chamadas ao seu
código legado
17. PHP Conference 2015 17
Documentação
● Geração automática da documentação
● Preenchimento na interface
● Acesso via /apigility/documentation
● Detalhamento de campos, métodos e códigos
de resposta
20. PHP Conference 2015 20
Deploy
● Configuração
customizada
● Integração Zend
Server
● Pré executar
Composer ou não
21. PHP Conference 2015 21
E as aplicações existentes?
● Utilizar em conjunto com Apigility
● Chamar classes da aplicação dentro dos
resources
● Se utilizar Composer fica mais fácil!