поддерживает ли Spring контроллеры / соединения Rest и Websocket одновременно? - PullRequest
0 голосов
/ 02 июня 2019

Я хочу сделать авторизацию пользователей с помощью rest api (и некоторых других вещей) и основные функции с помощью веб-сокетов в моем приложении.Я столкнулся с следующей проблемой.Представьте, что у меня очень простое весеннее приложение со следующим контроллером.

@RestController
public class FieldController
{
    @ResponseBody
    @RequestMapping(value = "/getString", method = RequestMethod.GET)
    public String getString()
    {
        return "[{\"id\":11, \"name\":\"qwer\"}]";
    }
}

Это прекрасно работает, я вижу ответ в браузере по этому URL.Но когда я пытаюсь добавить класс конфигурации websocket в приложение, браузер

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer
{
    public void registerStompEndpoints(StompEndpointRegistry registry)
    {
        registry.addEndpoint("/socket").withSockJS();
    }

    public void configureMessageBroker(MessageBrokerRegistry registry)
    {
        registry.setApplicationDestinationPrefixes("/app")
        .enableSimpleBroker("/chat");
    }
}

перестает видеть этот URL.в журнале:

org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping for GET /app/getString

я не знаю почему, и Google не знает.возможно, потому что весна рассматривает это как контроллер websocket.Вопрос: кто-нибудь видел такое рабочее поведение?По крайней мере, я хочу подтвердить, что это не должно работать, или подтвердить, что я сделал что-то не так.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...