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.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto