Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

636
Views
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 answers
Answer question

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 Report

0

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

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!