Criando API em GoLang

Nesse artigo, veja como criar uma API com GoLang. Para você ter um overview, iremos criar uma API para cadastro de pessoas. Não vou abordar a instalação do Go. Caso você ainda não tenha ele instalado, você pode seguir os passos desse artigo Primeiros passos com GoLang.

Antes de começarmos a desenvolver, nós precisamos criar um novo diretório dentro do nosso workspace. Para esse artigo, iremos utilizar um computador com Windows 10, o caminho do meu workspace ficou: C:\go\src\github.com\programadrirano\person\.

O nosso primeiro passo será a criação de um novo arquivo chamado main.go, esse será o nosso arquivo root, em seguida precisaremos de um editor de textos. Para esse artigo iremos utilizar o Visual Studio Code. Com o arquivo aberto no seu VS Code, atualize ele com o código abaixo.

Vamos entender passo a passo o nosso código:

Linha 3 a 11: Estamos importando os pacotes necessários para nossa aplicação.

Nas linha 13 a 22 nós temos:

  • 14: estamos inicializando a nossa rota passando o valor true para ScrictSlash, a grosso modo ele nos permitir trabalhar com as nossas rotas da seguinte forma: /rota e dessa /rota/, para mais detalhes sobre ele segue link da sua documentação.
  • 16: estamos criando a nossa rota GET, no primeiro parâmetro nós passamos a rota, no segundo o nome do método que irá responder a nossa chamada e no final o Verbo HTTP que iremos utilizar.
  • 17: a nossa rota para criação, seguindo os passos da linha 16.
  • 18: variável com a porta que iremos utilizar para nossa API.
  • 19: estamos printando na nossa console a porta que estamos utilizando.
  • 20: estamos passando a porta e as nossas rotas para o listen do pacote HTTP.

Nas linhas 24 a 32, nós estamos criando um modulo chamado Person e inicializando ele com dois valores.

Nas linhas 34 a 37, nós criamos o nosso método getAll com dois parâmetros Response e Request e estamos retornando os valores do array que criamos a cima.

Por fim, nas linhas 39 a 71 temos:

  • 40 e 41: estamos configurando o nosso header setando o seu Content-type.
  • 42: estamos criando uma variável com o valor da nossa model Person.
  • 44: estamos recebendo os valores do nosso request e passando paara duas variáveis body e err.
  • 46 a 61: nos criamos algumas validações como: se o erro é diferente de nil, se o arquivo veio vazio, e retornamos para o usuário.
  • 63: estamos fazendo um parse para o nosso Objeto.
  • 65: como não estamos trabalhando com banco de dados, nós adicionamos o valor no nosso array.
  • 68 a 72: finalizamos o nosso método retornando o status 201 de criado e o objeto que o nosso usuário envio.

Agora para que possamos testar, execute o comando go run .\main.go no seu terminal, ele irá exibir uma mensagem com a porta na sua console. Podemos ver essa execução na imagem abaixo:

(go run)

Nosso próximo passo será testarmos as nossas rotas. Para isso, abra o endereço no seu navegador: http://localhost:3000/ e caso tudo esteja OK você irá receber o objeto abaixo:

[
  {
   Name: "Heisenberg"
  },
  {
   Name: "Pinkman"
  }
]

Agora para que possamos testar o cadastro, nós iremos utilizar o  Postman, ferramenta gratuita que nós auxilia nos testes a requisições HTTP. Com ele aberto preencha os campos conforme esta na imagem abaixo e clique em enviar.

Postman

Por fim, volte no seu método GET e perceba que nós temos um novo registro no nosso retorno.

Caso tenha interesse em baixar a versão final do código desse artigo, segue o seu link no GitHub.

Compartilhe:

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn

Table of Contents

Postagens Relacionadas

SaferatHome

Safer at Home

Safer at Home 26/02/2021(US) – Filmes – 0h 0min –   Nota: 0/10   Sinopse     Elenco Mais informações Título Original Safer at Home
SouLunaOUltimoShow

Sou Luna: O Último Show

O elenco de “Sou Luna” se apresenta ao vivo pela última vez no mítico estádio Luna Park em Buenos Aires. Vamos acompanhá-los na intimidade dos bastidores e r…
Chansondouce

Chanson douce

Chanson douce () – Drama, Crime – 1h 40min –   Nota: 6/10   Sinopse     Elenco Leïla Bekhti Como – Myriam Karin Viard
OutpostInfernoNegro

Outpost 2: Inferno Negro

O ano é 1945, 2ª Guerra Mundial, e um cientista alemão de nome Klausener está trabalhando em uma tecnologia nova e assustadora que tem o poder de criar um ex…