silverhawk90
@silverhawk90
Серверный Java Developer

Как «мапить» методы по заголовкам в STOMP сообщениях Spring?

Приложение использует STOMP протокол для обмена сообщениями Websockets среде.
Есть контроллер в котором "замапены" методы:
@Controller
public class UserController {

    @Autowired
    private UserManager userManager;

    @MessageMapping("/users")
    @SendTo("/queue/users")
    @ResponseBody
    public List<User> list() {
        return userManager.findAll();
    }

    @MessageMapping("/users")
    @SendTo("/queue/users")
    @ResponseBody
    public User user(@Payload MessagePayload messagePayload) {
        int idUser = Integer.parseInt(messagePayload.getRequestValue("id_user"));
        User user = userManager.findUserById(idUser);
        if (user == null) {
            throw new UserNotFoundException(idUser);
        }
        return user;
    }

}


Сообщения имеют кастомный заголовок "command". Как можно дополнительно "замапить" методы в зависимости от содержания "command'.
Например:
@MessageMapping("/users")
@Header("command" = "GETLOCALUSER")
@SendTo("/queue/users")
@ResponseBody
public List<User> list() {
     return userManager.findAll();
}
  • Вопрос задан
  • 516 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы