Reposo golang
En aras de la simplicidad, crearemos un servidor REST simple que reciba una solicitud a un punto final específico y devuelve la lista de productos en formato JSON.
Empiece por crear un descanso.GO FILE que contendrá el código para la API:
reposo en contacto.ir
Manejar la función de solicitud HTTP
En el descanso.IR FILE, Importar los paquetes requeridos:
importar (
"FMT"
"registro"
"net/http"
)
El código anterior importa el paquete HTTP FMT, log y Net para manejar las solicitudes de errores, E/S y HTTP utilizando la red/http. Necesitaremos el paquete de codificación/JSON más adelante en el código.
Por ahora, las importaciones anteriores funcionarán.
El siguiente paso es crear una función que maneje la solicitud a un punto final específico. Para las pruebas, crearemos un punto final A /Bienvenido que devolverá el mensaje "Hola, bienvenido a API RESTFUL."
Podemos hacer esto definiendo una función que toma HTTP.Responsewriter y http.Pedido.
A continuación se muestra un ejemplo de código:
FUNC Bienvenido (w http.Responsewriter, r *http.Pedido)
fmt.Fprintf (w, "hola, bienvenido a las apis Restful.")
La función devuelve el mensaje al usuario cuando se presiona el punto final especificado.
Ahora, definamos el punto final disponible en nuestro servidor y qué función ejecutar cuando el cliente llega a ese punto final.
En la función principal, agregue el código como se muestra a continuación:
func Main ()
http.HandleFunc ("/Bienvenido", bienvenido) // Crear punto final
http.Listenandserve (": 8080", nil) // Escuchar y servir
El código anterior usa el HTTP.Método handleFunc () y toma el punto final y la función para ejecutar como parámetros.
El método LearchandServe escuchará en el puerto especificado y luego manejará todas las solicitudes entrantes al servidor.
A continuación, ejecute el código anterior para asegurarse de que todo funcione correctamente. Abra su navegador y acceso, http: // localhost: 8080/bienvenido
Esto debería devolver el mensaje como se define en nuestro código anterior.
Con los conceptos básicos fuera del camino, podemos proceder a crear una API más interesante. Para la siguiente sección, deberá importar el paquete de codificación/JSON para codificar los datos JSON.
Crearemos una estructura que posea los productos en nuestro stock. A continuación se proporciona un ejemplo de estructura:
Tipo de estructura de producto
Id int 'json: "id"' '
Product_name string 'json: "nombre"' '
Precio int 'json: "precio"'
Instock Bool 'Json: "stock"'
A continuación, podemos definir un tipo de producto tipo tipo que mantendrá una matriz:
Tipo de productos [] Producto
El siguiente paso es configurar un punto final para devolver los productos en formato JSON. Para eso, podemos definir una función simple llamada GetProducts como se muestra:
FUNC GetProducts (w http.Responsewriter, r *http.Pedido)
Productos: = Productos
Producto
ID: 1,
Product_Name: "MacBook Pro",
Precio: 5999,
Instock: Verdadero,
,
ID: 2,
Product_Name: "Amazon Echo",
Precio: 299,
Instock: Falso,
,
json.NewEncoder (W).Codificar (productos)
La función anterior toma la información de los productos y la codifica.
Finalmente, podemos agregar un controlador HTTP cuando el cliente llega al punto final /productos en la función principal:
http.HandleFunc ("/Productos", GetProducts)
Y con eso, tenemos nuestra API lista para comenzar. Para probarlo, ejecute el resto.Vaya al archivo y abra su navegador a la dirección:
http: // localhost: 8080/productos
Esto debería devolver la información de JSON con la información del producto:
Conclusión
Esto concluye este tutorial sobre la configuración de una API REST simple en Go. Aunque simplista, sirve como base para construir API más rápidas y complejas. Esperamos que hayas encontrado este artículo útil. Echa un vistazo a otros artículos de Sugerencia de Linux para obtener más consejos y artículos.