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.
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
*** Bug 24238 has been marked as a duplicate of this bug. ***
I am all for returning application/json as default, as suggested by Jonathan in 24238.