Я определил конечную точку с помощью JAX-RS (RestEasy) и хотел бы добавить список локалей, предоставленный параметром заголовка "accept-language"
.
Пример заголовка запроса:
Accept-Language: en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7
В этом коде список содержит только первый языковой стандарт, указанный в заголовке запроса на отправку, но не полный список.
import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
@GET
@Path("/test")
public void getHeaderLanguages(@HeaderParam("accept-language") List<Locale> locales) {
//output 1 Locale: en_GB,EN
locales.forEach(System.out::println);
}
Этот код печатает весь список языков (как требуется), но API немного неуклюже.
@GET
@Path("/test")
public void getHeaderLanguages(@Context HttpServletRequest request) {
Enumeration<Locale> localesEnumeration = request.getLocales();
while(localesEnumeration.hasMoreElements()) {
//prints all 4 locales as expected en_GB. en. en_US. de
System.out.print(localesEnumeration.nextElement() + ". ");
}
}
Есть ли способ добавить Список всех локалей, отправленных в заголовок запроса "accept-language"
с простым синтаксисом, близким к первому подходу, но с полным результатом, как во втором примере?