title: Reject invalid content types with HTTP 406 not acceptable
body: <p>I'm working a project where we'd like to restrict the number of content types we accept and throw appropriate errors when an invalid content type is encountered.</p>
  
  <p>Currently we remove the XmlFormatter from the list of allowed formatters, leaving only JSON as an option. This has the effect of defaulting to JSON for all unknown content types in the accepts or content-type header.</p>
  
  <p>However, I'd like to modify content negotiation so that a request for XML, or <a href="https://en.wikipedia.org/wiki/VCard" rel="nofollow">vCard</a>, or any non-JSON content type will throw an <em>HTTP 406 Not Acceptable error</em>.</p>
  
  <p>What is the best practice for this? Should I be setting up a global filter? Should I be creating my own ContentNegotiator and replacing the default in the global configuration? </p>
  
  <p>What is the correct level of the stack to interact with/modify?</p>