Джерси и HK2 - инъекционный текущий пользователь
Я работаю с Джерси 2.17 и HK2, чтобы создать простое приложение для отдыха. у меня естьContainerRequestFilter
который отклоняет любой запрос, который не имеет cookie "currentuser".
У меня есть что-то вроде этого:
@Path("/users")
public class UserResource {
private UserService userService;
@GET
@Path("/orders")
@Produces("application/json")
public List<Order> findOrdersOfCurrentUser() {
// some ugly code to access headers, extract cookies, and finally
// extract username (a String) from a particular cookie
return this.userService.findOrdersByUsername(username) ;
}
}
Я хочу написать что-то более элегантное, чем это. Как это:
@Path("/users")
public class UserResource {
private UserService userService;
@CurrentUsername
private String currentUser;
@GET
@Path("/orders")
@Produces("application/json")
public List<Order> findOrdersOfCurrentUser() {
return this.userService.findOrdersByUsername(username) ;
}
}
Я действительно новичок в hk2 и мне очень трудно найти способ сделать это.
Я просто прошу правильный интерфейс для реализации (или класс для расширения).