Я пытаюсь использовать HttpRequestHandlerServlet совместно с HttpRequestHandlingMessagingGateway, чтобы выставить простой URL REST в браузер. Но я не могу зарегистрировать HttpRequestHandlerServlet, я делаю это следующим образом:Не удается зарегистрировать HttpRequestHandlerServlet с Spring Boot
@Bean
public ServletRegistrationBean inboundServletRegistration(ApplicationContext context) {
final HttpRequestHandlerServlet servlet = new HttpRequestHandlerServlet();
ServletRegistrationBean registration = new ServletRegistrationBean(
servlet, "/demo/*");
registration.setName("inboundServletRegistration");
return registration;
}
Spring начала загрузки приложения нормально, но при попытке получить доступ к HttpRequestHandlingMessagingGateway конечных точек с отображением:
@Bean
public HttpRequestHandler httpInboundEndPoint() {
// Http Rest gateway expecting reply.
final HttpRequestHandlingMessagingGateway restGateway = new
HttpRequestHandlingMessagingGateway(true);
// Mapping of URL this gateway consumes...
restGateway.setRequestMapping(
mapping(new HttpMethod[]{HttpMethod.GET}, "/context/{param}"));
по адресу http://localhost:8080/demo/context/ { пары} Я получаю полный крах нонсенса:
org.springframework.beans.factory.BeanNotOfRequiredTypeException:
Bean с именем 'inboundServletRegistration' должен быть типа [org.springframework.web.Ht tpRequestHandler], но был фактически типа [org.springframework.boot.context.embedded.ServletRegistrationBean]
Вы столкнулись с этой проблемой? Не могли бы вы помочь мне?
Кто-нибудь? Я вроде думал ли это может на самом деле работать ... Потому что посмотрите в исходный код HttpRequestHandlerServlet ... Кажется, проблема в том, что имя сервлета HttpRequestHandlerServlet не совпадает с именем HttpRequestHandler (HttpRequestHandlingMessagingGateway в моем случае) .... Как можно установить имя HttpRequestHandlerServlet? –