3. Mas afinal, o que é esse tal de Swagger?
- É um conjunto de regras, ou especificações para APIs REST
- Legível tanto por humanos quanto por máquinas
- Especialmente poderoso para criação/manutenção de
documentações
- Ótimo para automatizar processos relacionados às APIs
4. Por que devo começar a utilizar Swagger
para escrever minhas APIs?
- Linguagem simples e amigável (YAML / JSON)
- Facilidade de integração em ambientes de desenvolvimento
- Mantido e voltado para a comunidade
- Grande conjunto de ferramentas para integração open source e
commercial
5. E o mais importante...
- Ciclo de vida da API
- Design
- Documentação
- Geração de código
- Testes
- Gerenciamento da API
- Monitoramento
6. E o que Go tem a ver?
- Swagger pode gerar código em diversas linguagens
- Go é simples e incorpora o melhor dos dois mundos
- Performance
- Legibilidade de código
- Concorrência
- Mercurius (Novatrix)
- github.com/novatrixtech/mercurius
7. E como eu desenvolvo minha API do zero
com Swagger?
8. Script YAML + Swagger Editor
- Prefira YAML ao JSON
- Swagger editor
- Online (editor.swagger.io)
- Docker
- Local
- Documentação renderizada em real-time
11. Mercurius
- Baseado no Macaron
- Fornece uma maneira mais simples de roteamento
- Suporte à MySQL e PostgreSQL
- I18n e OAuth
- Simples de usar
- Open source "github.com/novatrixtech/mercurius"
12. Tá, mas e aí?
java -jar
modules/swagger-codegen-cli/target/swagger-codegen-cli.jar
generate -i <project-path>/swagger.yaml -l
mercurius-go-server -o <project-path>