Bug 24237

Summary: The 406 response on the biblios end point should be more discoverable
Product: Koha Reporter: Martin Renvoize (ashimema) <martin.renvoize>
Component: REST APIAssignee: Tomás Cohen Arazi (tcohen) <tomascohen>
Status: ASSIGNED --- QA Contact:
Severity: enhancement    
Priority: P5 - low CC: jonathan.druart, tomascohen
Version: Main   
Hardware: All   
OS: All   
GIT URL: Change sponsored?: ---
Patch complexity: --- Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
Circulation function:
Bug Depends on: 23677, 24908    
Bug Blocks:    

Description Martin Renvoize (ashimema) 2019-12-13 12:19:52 UTC
Other endpoints default to an application/json response by default regardless of the Accept headers in the request.  For consistency, we should do the same on the biblios endpoint.. I'm thinking a 406 still, but with a JSON encoded error message in the body explaining the available Accept headers.
Comment 1 Tomás Cohen Arazi (tcohen) 2020-03-18 18:31:41 UTC
Currently, if you don't specify any Accept header you get a 406, and the following response body (application/json):

[
    "application/json",
    "application/marcxml+xml",
    "application/marc-in-json",
    "application/marc"
]

I followed what is described here on the Mozilla site [1]. Now that I re-read it they suggest the site usually just skips the error and returns a fallback (the default response). It then mentions if you want to return 406, give the consumer a list of accept-able mime types.

I am open to any change. Let's discuss it in more detail.


[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/406
Comment 2 Tomás Cohen Arazi (tcohen) 2020-03-18 18:33:15 UTC
*** Bug 24238 has been marked as a duplicate of this bug. ***
Comment 3 Tomás Cohen Arazi (tcohen) 2020-03-18 18:34:42 UTC
I am all for returning application/json as default, as suggested by Jonathan in 24238.