Java Reference
In-Depth Information
@GET
Response
getSomething
(
@Context
Request request
) {
List
<
Variant
>
variants
=
new
new
ArrayList
<
Variant
>();
variants
.
add
(
new
new
Variant
(
MediaType
.
APPLICATION_XML_TYPE
,
"en"
,
"deflate"
));
variants
.
add
(
new
new
Variant
(
MediaType
.
APPLICATION_XML_TYPE
,
"es"
,
"deflate"
));
variants
.
add
(
new
new
Variant
(
MediaType
.
APPLICATION_JSON_TYPE
,
"en"
,
"deflate"
));
variants
.
add
(
new
new
Variant
(
MediaType
.
APPLICATION_JSON_TYPE
,
"es"
,
"deflate"
));
variants
.
add
(
new
new
Variant
(
MediaType
.
APPLICATION_XML_TYPE
,
"en"
,
"gzip"
));
variants
.
add
(
new
new
Variant
(
MediaType
.
APPLICATION_XML_TYPE
,
"es"
,
"gzip"
));
variants
.
add
(
new
new
Variant
(
MediaType
.
APPLICATION_JSON_TYPE
,
"en"
,
"gzip"
));
variants
.
add
(
new
new
Variant
(
MediaType
.
APPLICATION_JSON_TYPE
,
"es"
,
"gzip"
));
// Pick the variant
Variant v
=
request
.
selectVariant
(
variants
);
Object entity
= ...;
// get the object you want to return
ResponseBuilder builder
=
Response
.
ok
(
entity
);
builder
.
type
(
v
.
getMediaType
())
.
language
(
v
.
getLanguage
())
.
header
(
"Content-Encoding"
,
v
.
getEncoding
());
return
return
builder
.
build
();
}