Golang Rest
Por uma questão de simplicidade, criaremos um servidor de descanso simples que recebe uma solicitação para um terminal específico e retorne a lista de produtos no formato JSON.
Comece criando um descanso.Vá o arquivo que conterá o código da API:
Toque em descanso.ir
Lidar com a função de solicitação HTTP
No resto.Vá arquivo, importe os pacotes necessários:
importação (
"FMT"
"registro"
"net/http"
)
O código anterior importa o pacote FMT, log e http líquido para lidar com erros, solicitações de E/S e HTTP usando o NET/HTTP. Precisaremos do pacote de codificação/json mais tarde no código.
Por enquanto, as importações anteriores funcionarão.
A próxima etapa é criar uma função que lide com a solicitação para um terminal específico. Para testes, criaremos um terminal de boas -vindas que retornará a mensagem “Oi, bem -vindo a APIs repousantes.”
Podemos fazer isso definindo uma função que leva http.ResponseWriter e Http.Solicitar.
Um exemplo de código é mostrado abaixo:
Func Welcome (w http.ResponseWriter, r *http.Solicitar)
fmt.Fprintf (W, "Oi, bem -vindo a APIs repousantes.")
A função retorna a mensagem ao usuário quando o terminal especificado é atingido.
Agora, vamos definir o ponto final disponível em nosso servidor e qual função executar quando o cliente atingir esse terminal.
Na função principal, adicione o código como mostrado abaixo:
func main ()
http.HandleFunc ("/Welcome", Welcome) // Crie terminal
http.ListenAndServe (“: 8080”, nil) // Ouça e sirva
O código anterior usa o http.Método HandleFunc () e leva o endpoint e a função para executar como os parâmetros.
O método ListenAndServe ouvirá na porta especificada e, em seguida, lidará com todas as solicitações de entrada no servidor.
Em seguida, execute o código anterior para garantir que tudo funcione corretamente. Abra seu navegador e acesso, http: // localhost: 8080/Bem -vindo
Isso deve retornar a mensagem conforme definido em nosso código anterior.
Com o básico fora do caminho, podemos prosseguir para criar uma API mais interessante. Para a próxima seção, você precisará importar o pacote de codificação/json para codificar os dados JSON.
Vamos criar uma estrutura que contém os produtos em nosso estoque. Um exemplo de estrutura é fornecido abaixo:
Tipo de estrutura do produto
Id int 'json: "id"'
Product_name String 'JSON: "Nome"'
Price Int 'JSON: "Preço"'
Instock bool 'json: "estoque"'
Em seguida, podemos definir um tipo de produto do tipo que possui uma matriz:
Tipo de produtos [] Produto
O próximo passo é configurar um terminal para devolver os produtos no formato JSON. Para isso, podemos definir uma função simples chamada getProducts, como mostrado:
Func GetProducts (W HTTP.ResponseWriter, r *http.Solicitar)
Produtos: = Produtos
Produtos
ID: 1,
Product_name: “MacBook Pro”,
Preço: 5999,
Instock: Verdadeiro,
,
ID: 2,
Product_name: “Amazon Echo”,
Preço: 299,
Instock: false,
,
JSON.NewEncoder (W).Encodes (produtos)
A função anterior leva as informações dos produtos e a codifica.
Finalmente, podemos adicionar um manipulador HTTP quando o cliente atingir o terminal do /Products na função principal:
http.Handlefunc ("/produtos", getproducts)
E com isso, temos nossa API pronta para ir. Para testá -lo, execute o resto.Vá arquivo e abra seu navegador para o endereço:
http: // localhost: 8080/produtos
Isso deve retornar as informações do JSON com as informações do produto:
Conclusão
Isso conclui este tutorial sobre como configurar uma API de descanso simples em Go. Embora simplista, serve como base para a construção de APIs mais rápidas e complexas. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e artigos.