Curso Go: Parte 8

Bienvenidos a una nueva entrega del curso, en este último apartado, veremos el formato JSON, llamadas HTTP, servidor HTTP … una explicación de cada una de ellas  y propondremos  pequeñas pruebas, para que seáis vosotros quienes valoréis si realmente estamos afianzando los conceptos expuestos en esta parte del curso.

Para afianzar los conceptos anteriores como testing, analizar el  rendimiento y estabilidad de los programas visite la parte 7.

JSON

Necesitamos la librería que se llama encoding/json.

Para decodificar la solicitud lineas [31 : 35]

Codificar respuesta lineas [48 : 50]

Llamadas HTTP

En este ejercicio realizamos llamadas mediante la función POST. 

Como podemos observar en la linea 46.

http.Post(“url“,”application/json”,&var)

Prueba: GitHub API

Escriba una función que consulte en la API de un usuario de GitHub, para un inicio de sesión determinado.

Tiene que devolvernos una estructura de usuario con nombre y varios repositorios públicos.

https://api.github.com/users/name_user

Servidor HTTP GitHub

Al principio del curso os enseñamos como instalar curl, pero en windows es diferente, en mi caso lo he instalado mediante chocolatey (gestor de paquetes para la instalación de aplicaciones) iremos a la pagina de la url y solamente tendremos que copiar el texto en la consola y ejecutarlo.

Una vez en funcionamiento, ejecutaríamos lo siguiente:

choco install curl

Dejamos el servidor corriendo:

go run httpd.go

Crearemos el archivo req.json:

Realizamos peticiones al servidor:

curl -d@req.json http//localhost:8080/math

Prueba: Base da datos del servidor Http

Escribir un servidor http que funcione como una base de datos.

Los usuarios realizaran una solicitud a /db crear, asignar un valor.

Los usuarios realizaran una obtención a /db para obtener un valor.

Utilizar map[string] interface{} para mantener los valores.

Limitar el acceso al mapa con sync.Mutex

Ejemplo POST (req.json)

{

“key”: “x”,

“value”: 1

}

req.json:

Conclusiones

En esta ultima parte de  tutoriales hemos trabajado llamadas de red HTTP, formatos JSON y así poder crear una aplicación conectada con otras, cosa indispensable en gran parte de los proyectos hoy en día.

Esperamos que les halla servido de gran ayuda este curso de go, podéis dejarnos comentarios que iremos revisando para ayudaros, si os resultaría interesante un curso mas avanzado de Go comentadnoslo e iremos publicando.

Gracias  ¡¡Happy Coding!! 


Xabier Sestafe

Xabier Sestafe

Explotacion de Sistemas informaticos, Administracion de Sistemas Informaticos en Red, Desarrollador de Aplicaciones Multiplataforma. Gran interes en todo lo relacionado con el desarrollo de aplicaciones, apasionado de las redes. Me considero ambicioso siempre queriendo aprender cosas nuevas, con gran actitud para enfocar cualquier problema, me encanta trabajar en equipo y conocer gente por el camino

Leave a Reply

Your email address will not be published. Required fields are marked *