- Notifications
You must be signed in to change notification settings - Fork302
Open
Labels
Description
Issue
The guides onhttps://django-rest-framework-json-api.readthedocs.io/en/stable/usage.html#configuration recommend including therest_framework_json_api.filters.QueryParameterValidationFilter
in initial configuration which is good advice, but by default, the Django REST Framework UI provides a dropdown which allows you to pickformat=api
orformat=vnd.api+json
Without allowing theformat
parameter through you get the following error:
HTTP 400 Bad RequestAllow: GET, POST, HEAD, OPTIONSContent-Type: application/vnd.api+jsonVary: Accept{ "errors": [ { "detail": "invalid query parameter: format", "source": { "pointer": "/data" }, "status": "400" } ]}
What needs to change
- We document to change
URL_FORMAT_OVERRIDE
tocontentFormat
in our README. - In the
QueryParameterValidationFilter
it's checked whether a query parameter is passed on which is equal configured value inURL_FORMAT_OVERRIDE
. If this is true and the value ofURL_FORMAT_OVERRIDE
is set to something else thanformat
then we let the user pass. IfURL_FORMAT_OVERRIDE
is still set toformat
a 400 error is raised (as would be the case today already without this change).
referenceDRF docs
This issue is created out of the pull request#535