Golang: enviar 404 en respuesta HTTP

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *