dev@jsr311.java.net

Re: JSR311: media type compatibility

From: Bill Burke <bburke_at_redhat.com>
Date: Wed, 09 Apr 2008 13:10:30 -0400

Marc Hadley wrote:
> On Apr 9, 2008, at 8:30 AM, Bill Burke wrote:
>> Consider this resource:
>>
>> @Consumes("application/xml;schema=bar")
>> @GET
>> public String get();
>>
>>
>> Is it compatible with the content-type of "application/xml;schema=foo"?
>>
>> My thinking is that it is not compatible. Why?
>>
>> Consider this example:
>>
>> Accept: application/xml;schema=foo;q=1.0,
>> application/xml;schema=bar;q=0.5
>>
>> Content-type: application/xml;schema=stuff
>>
>>
>>
>> The resource:
>>
>> @Path("/")
>> public class MyESB {
>>
>> @Produces("application/xml;schema=foo")
>> @Consumes("application/xml;schema=junk")
>> public String method1() {}
>>
>>
>> @Produces("application/xml;schema=bar")
>> @Consumes("application/xml;schema=stuff")
>> @GET
>> public String method2() {}
>> }
>>
>>
>> From the current spec implementation(if i understand the rules
>> correctly) with this request, method1 will be matched because the
>> Accept precedence and my application will fail as the XML document
>> sent will be incompatible with method 1.
>>
> Media type matching ignores parameters so either method would be
> considered compatible. Method 1 would be matched since its it has the
> highest q in the accept.
>

Is this a JSR311 thing or W3C thing? If jSR311, then it should be changed.

Bill



-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com