This is very strange. I have an endpoint that accepts a PUT request.
namespace App\Http\Requests;
use Dingo\Api\Http\FormRequest;
class UpdateTestRequest extends FormRequest
{
public function authorize()
{
return true // guaranteed to work
}
public function rules()
{
return [
'is_invited' => 'required|boolean',
'is_span_invited' => 'required|boolean',
];
}
}
When I make the request in insomnia, it works fine when accepting a JSON payload.
However, changing to type Multipart form data and PUT'ing again - the UpdateTestRequest is run again but it fails. Laravel doesn't seem to see the values in is_invited
nor is_span_invited
. Doesn't matter is the expected value is a string, int etc.
Very strange.
CodePudding user response:
I think true is being parsed as string by laravel backend. Did you try sending 0 and 1 instead?
CodePudding user response:
Use _method="PUT" in request body and POST. https://laravel.com/docs/9.x/routing#form-method-spoofing