cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] [Commented] (CXF-4959) Support hierarchical mimetypes
Date Wed, 10 Apr 2013 20:39:15 GMT


Sergey Beryozkin commented on CXF-4959:

FYI, if you depend on JSONProvider then you can set consumesTypes and/or producesTypes properties
on it, so for example, you can set a list (a/c+d, a+d), etc

Re "application/my-type+json is clearly applicable under application/json". I've heard a similar
statement just recently, this is kind of new to me, but looks like I'm not quite aware of
this fact. Do you have a link to some specific spec text ? thanks 
> Support hierarchical mimetypes
> ------------------------------
>                 Key: CXF-4959
>                 URL:
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-RS
>    Affects Versions: 2.7.4
>            Reporter: Todd Orr
> I am attempting to provide a custom hypermedia model through the mimetype returned in
a response. I would like to ensure that the Content-Type header reflects this while serializing
the data according to the best fit message body writer. Unfortunately, this doesn't work.
I have tried two approaches:
> 1. Annotated the service method with @Produces("application/my-type+json")
> 2. Used a ContainerResponseFilter to set the Content-Type header according to the data
type being returned (effectively the same goal as #1)
> The result of either approach is not good, but they fail differently.
> 1. Results in a 404 as the client is sending an accept for application/json
> 2. The serialization fails with a no message body writer found error
> I'd expect both of these approaches to work as follows:
> 1. CXF determines the best match given the available producers. For example, application/my-type+json
is clearly applicable under application/json, so it should match application/json request
Accept headers as well as more specific Accept values.
> 2. The message body writer for application/json should apply to application/my-type+json
since the latter is clearly applicable under application/json.
> I believe the argument against this request would include a plea for forcing the client
to specify exactly what it wants returned and having the server rigidly behave. However, I
think this falls under the purview of the Robustness Principle (Be conservative in what you
send, be liberal in what you accept). It would be a much better experience to implement something
akin to what I have described.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message