Golang REST API

Golang REST API
I denne artikkelen vil vi utforske hvileverdenen ved å lage et enkelt REST API på Go -programmeringsspråket.

Golang Rest

For enkelhets skyld oppretter vi en enkel hvileserver som mottar en forespørsel til et bestemt sluttpunkt og returnerer listen over produkter i JSON -format.

Begynn med å lage en hvile.GO -fil som vil inneholde koden for API:

Berør hvile.gå

Håndter HTTP -forespørselsfunksjon

I resten.Gå fil, importer de nødvendige pakkene:

import (
"FMT"
"Logg"
"Nett/http"
)

Den forrige koden importerer FMT-, loggen og NET HTTP -pakken for å håndtere feil, I/O og HTTP -forespørsler ved hjelp av NET/HTTP. Vi trenger koding/json -pakken senere i koden.

Foreløpig vil den forrige importen fungere.

Neste trinn er å opprette en funksjon som vil håndtere forespørselen til et bestemt sluttpunkt. For testing vil vi lage et /velkommen sluttpunkt som vil returnere meldingen “Hei, velkommen til RESTful APIer.”

Vi kan gjøre dette ved å definere en funksjon som tar http.ResponseWriter og HTTP.Be om.

Et kodeeksempel vises nedenfor:

func velkommen (w http.ResponseWriter, R *http.Be om)
fmt.Fprintf (W, "Hei, velkommen til avslappende apis.")

Funksjonen returnerer meldingen til brukeren når det spesifiserte endepunktet blir rammet.

La oss nå definere sluttpunktet som er tilgjengelig på serveren vår og hvilken funksjon vi skal utføre når klienten treffer det endepunktet.

I hovedfunksjonen, legg til koden som vist nedenfor:

func main ()
http.HandleFunc ("/velkommen", velkommen) // Lag endepunkt
http.ListenandServe (“: 8080”, null) // Lytt og server

Den forrige koden bruker HTTP.HandleFunc () -metode og tar sluttpunktet og funksjonen for å utføre som parametere.

ListenandServe -metoden vil lytte på den spesifiserte porten og deretter håndtere alle innkommende forespørsler til serveren.

Kjør deretter den forrige koden for å sikre at alt fungerer riktig. Åpne nettleseren og tilgangen, http: // localhost: 8080/velkomst

Dette skal returnere meldingen som definert i vår forrige kode.

Med det grunnleggende ute av veien, kan vi fortsette å lage et mer interessant API. For neste avsnitt må du importere koding/JSON -pakken for å kode JSON -dataene.

Vi vil lage en struktur som holder produktene i lageret vårt. Et struktureksempel er gitt nedenfor:

skriv produktstruktur
Id int 'json: "id"'
Product_name String 'Json: "Name"'
Pris int 'Json: "Pris"'
Instock Bool 'Json: "Stock"'

Deretter kan vi definere et type produkter av typeprodukt som holder en matrise:

Type produkter [] produkt

Neste trinn er å sette opp et endepunkt for å returnere produktene i JSON -format. For det kan vi definere en enkel funksjon som kalles getprodukter som vist:

func getproducts (w http.ResponseWriter, R *http.Be om)
Produkter: = produkter
Produkt
ID: 1,
Produktnavn: “MacBook Pro”,
Pris: 5999,
Instock: True,
,

ID: 2,
Produktnavn: “Amazon Echo”,
Pris: 299,
Instock: False,
,

JSON.Newencoder (w).Kode (produkter)

Den forrige funksjonen tar produktene informasjon og koder for den.

Til slutt kan vi legge til en HTTP -behandler når klienten treffer /produkter endepunktet i hovedfunksjonen:

http.HandleFunc ("/Produkter", GetProducts)

Og med det har vi API -en vår klar til å gå. For å teste det, kjør resten.Gå fil og åpne nettleseren din til adressen:

http: // localhost: 8080/produkter

Dette skal returnere JSON -informasjon med produktinformasjonen:

Konklusjon

Dette avslutter denne opplæringen om å sette opp et enkelt REST API i Go. Selv om det er forenklet, fungerer det som et grunnlag for å bygge raskere og mer komplekse API -er. Vi håper du fant denne artikkelen nyttig. Sjekk ut andre Linux -hint -artikler for flere tips og artikler.