Remove empty payload from GET requests #1651
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently all Inertia GET requests have
Content-Type: application/json
header applied because empty object is passed as a payload. Axios sees an object and sets content type to application/json even though request body is empty.This is an issue because Laravel interprets these requests differently than regular GET request. See here
One example where this is a problem - for example I have GET route and I want to add or update some query parameters in current request using
request()->merge(['foo' => 'bar'])
When running
request()->query()
I expect to getfoo
parameter back since it is a GET request. Instead I get nothing. This is becausemerge
runs on json input source instead of query. See here and hereSetting data to
null
is enough for Axios to ignore payload.