users@jsr311.java.net

When to sort Accept header values

From: Sergey Beryozkin <sberyozk_at_progress.com>
Date: Wed, 28 Jan 2009 14:23:21 -0500

Hi

 

I'd like to clarify when to sort Accept header values.

Consider this example.

 

public class TestClass {

 

@Produces("application/xml")

public Book getBook1() {}

 

@Produces("application/json")

public Book getBook2() {}

 

}

 

1.Accept: application/xml;q=0.5, application/json;q=0.6

 

getBook2() is selected

 

2.Accept: application/xml, application/json

 

getBook1() is selected ?

 

3.Accept: application/json, application/xml

 

getBook2() is selected ?

 

if the above examples are correct then is it the case that Accept header
values should not be sorted for the purpose of selecting a method to be
invoked ?

 

I've got a bit confused - when they actually should be sorted ? Section
3.7.2/3.b mentions Accept, but say nothing about sorting of accept
values. Which makes sense,

 

Do they need to be sorted only when a selected method has multiple
Produces values, to determine the media type of a given response ?

 

Thanks, Sergey