APIs REST com Apigility
-
Upload
felipe-weckx -
Category
Software
-
view
681 -
download
2
Transcript of APIs REST com Apigility
PHP Conference 2015 2
Sistemas baseados em API
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
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
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
PHP Conference 2015 6
Inteface Apigility
HABILITADA SOMENTE EM DESENVOLVIMENTO!
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...
PHP Conference 2015 8
Serviço DB Connected
PHP Conference 2015 9
Serviço DB-Connected
PHP Conference 2015 10
Autenticação e Autorização
● HTTP (Basic ou Digest)● OAuth2
– Todos os fluxos de operação
● ACL por recursos
PHP Conference 2015 11
Configuração de Autorização
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
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
PHP Conference 2015 14
Configuração de Validação
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
PHP Conference 2015 16
Classe de Resource Vazia
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
PHP Conference 2015 18
Documentação
PHP Conference 2015 19
Documentação – com Swagger
PHP Conference 2015 20
Deploy
● Configuração customizada
● Integração Zend Server
● Pré executar Composer ou não
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!
PHP Conference 2015 22
Perguntas?