Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

638
Vistas
El método de validación de Laravel () devuelve la página html del índice cuando es falso

Estoy construyendo mi primera API de laravel y cuando trato de validar algunos datos de formulario simulados usando Postman con el método POST, la aplicación me devuelve el HTML de la página de índice y el estado 200.
Aquí está mi código

 public function store(Request $request) { $request->validate([ 'name' => 'required', 'slug' => 'required', 'price' => 'required' ]); return Product::create($request->all()); }

La aplicación devuelve el objeto que se insertó en la base de datos si la validación fue exitosa (si se completaron los datos), pero de lo contrario devuelve un archivo HTML.

¿Cómo puedo cambiar la forma en que opera el método 'validar ()'? Supongo que solo está devolviendo al usuario a la página principal si los datos del formulario no se completaron correctamente

Estoy usando Laravel 8

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Debe agregar Accept: application/json header a su solicitud de Postman, sin esto, Laravel funciona como HTML.

Pero, en mi opinión, todas las solicitudes en una API deben forzarse a una respuesta json. Para esto, cree app/Http/Middleware/ForceJsonResponse.php

 namespace App\Http\Middleware; use Closure; class ForceJsonResponse { public function handle($request, Closure $next) { if (!$request->headers->has('Accept')) { $request->headers->set('Accept', 'application/json'); } return $next($request); } }

Y agréguelo a app/Http/Kernel.php

 protected $routeMiddleware = [ //other midlewares 'json' => \App\Http\Middleware\ForceJsonResponse::class, //other midlewares ]; protected $middlewareGroups = [ 'api' => [ //other midlewares 'json' //other midlewares ] ];
over 4 years ago · Santiago Trujillo Denunciar

0

Agregué Accept: application/json en cartero y funcionó ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda