I'm not sure about defaulting to json. What if the service implementation can't handle or doesn't return json? The content type would be set to `application/json`, but it could return a different format.

Not defining a `service.formats` should raise an exception if it's a developer error, otherwise, I kind of think 406 makes sense. The media type specified didn't match any supported media type because none was defined. Also, a 406 is what you would get if you didn't specify `service.formats` but included an Accept header.