Estoy modificando mi sistema de ventas para que tenga fotos de productos, pero la foto es opcional, así que si el producto no tiene foto debo enviar un código de estado 404 con Go para que el cliente sepa que no se encontró lo que buscaba.
Por eso es que en este corto post de programación con Golang vamos a ver cómo enviar un Status code 404 not found.
Enviando un 404 con Go
Lo que tenemos que hacer es modificar el encabezado de respuesta, y recomiendo que esto se realice antes de escribir en la respuesta.
Para indicar un estado de No encontrado invocamos a WriteHeader
del http.ResponseWriter
pasándole el código deseado.
Por ejemplo, tengo mi definición de ruta y si el producto no tiene foto entonces escribo el código de estado:
enrutador.HandleFunc("/foto_producto", func(w http.ResponseWriter, r *http.Request) {
/*
...
*/
if producto.Foto != "" {
/*
*/
return
} else {
w.WriteHeader(http.StatusNotFound)
}
}).Name("VerProductos").Methods(http.MethodGet)
Fíjate en la línea 11, en caso de que el producto no tenga foto entonces indico un estado 404 con Go.
Nota: http.StatusNotFound
tiene el valor entero 404, yo lo uso así para ser más expresivo y no escribir el código 404 directamente.
Para terminar te dejo con más tutoriales de Go en mi blog.