Este projeto visa ilustrar o versionamento de API através de headers. Para tanto, oferece uma API simplificada, desenvolvida em Go, que inclui uma rota principal.
GET
/data
(obtém uma mensagem contendo um autor ou não)
name type data type description X-Api-Version required string Usar o versionamento semântico
http code content-type response version 200
application/json
{ "message": "Hello from the data store!", "author": "Elias" }
v0.1.1 200
application/json
{ "message": "Hello from the data store!" }
v0.1.0
curl -H "X-Api-Version: v0.1.1" http://localhost:8080/data
Esta técnica de versionamento possibilita que os usuários incluam o número da versão como um cabeçalho na solicitação da API, separando assim a versão da API da estrutura da URL.
- Instale o Go com versão igual ou superior a 1.22
- Tenha disponível um editor de código. Algumas opções incluem Neovim, Zed ou VS Code, No desenvolvimento deste projeto, utilizei o GoLand.
#1: Clone o repositório no seu computador e acesse o diretório raiz da aplicação.
#2: Inicie a aplicação utilizando o comando abaixo.
go run .
- Mais sobre versionamento de APIs: What is API versioning?
- Como funciona o versionamento semântico: Semantic Versioning 2.0.0
- Exemplo de como o GitHub versiona suas APIs: API Versions
- Ótimo livro sobre design de APIs: API Design Patterns
- Como a equipe da Apigee no Google Cloud aborda o tema de versionamento: Versioning in API design