У меня есть веб-приложение Spring 4, которое работает на WebSphere 7, и я также могу использовать Jetty для локальной разработки. Я не могу измениться с WAS, и я не могу изменить версию. Я реорганизую очень устаревшее приложение и пытаюсь добавить Spring для работы с функциональностью, и я реорганизую данные из сервлетов.Контроллер весны не принимает значения HttpServletRequet или @PathVariable или @ModelAttribute
У меня есть пара контроллеров, которые отлично работают в Jetty. Вот несколько моих запросов отображений:
@RequestMapping(value = "/bank/{routingNumber}", method = RequestMethod.GET)
@ResponseBody
public NACHABank getNachaBank(@PathVariable String routingNumber) {
return bankingService.loadBankByRoutingNumber(routingNumber);
}
@RequestMapping(value = "/payment/accountType", method = RequestMethod.POST)
public String createPaymentBatch(@ModelAttribute PaymentRequest paymentRequest, HttpServletRequest request) {
//do some stuff
return jspName;
}
Когда я бегу в WAS (как локально, так и в моей тестовой среде), то @PathVariable routingNumber
равно нулю. В другом запросе сопоставление @ModelAttribute paymentRequest
и HttpServletRequest request
являются нулевыми.
Когда я бегу в Причале, их нет и все работает.
В WAS у меня нет ошибок при запуске сервера, и я получаю обычные стартовые сообщения Spring. Мои конечные точки отображаются именно:
[6/28/16 10:20:30:695 CDT] 00000025 RequestMappin I org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping register Mapped "{[/bank/{routingNumber}],methods=[GET]}" onto public com.company.domain.NACHABank com.company.view.controller.BankController.getNachaBank(java.lang.String)
[6/28/16 10:20:30:726 CDT] 00000025 RequestMappin I org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping register Mapped "{[/payment/paymentType],methods=[POST]}" onto public java.lang.String com.company.view.controller.PaymentController.createPaymentBatch(com.company.view.request.PaymentRequest,javax.servlet.http.HttpServletRequest)
Что может быть причиной такого поведения?
На самом деле, при некоторых обстоятельствах все, что вам нужно, это просто «Очистить и построить» проект, обновление не должно быть проблемой, понижение - это ..., btw +1 для предоставления ответа. –
Добро пожаловать. В этом случае недостаточно «mvn clean install». По неизвестной причине Spring 4.3 не будет работать. Моим тестовым средам был предоставлен новый файл уха, построенный в чистой рабочей области от Дженкинса. Это старая база кода, которая все еще полагается на TopLink и некоторые другие древние библиотеки, которые моя компания вынудила все проекты использовать в течение дня. Я сделал подтяжку интерфейса, но не смог удалить все дерьмо и перейти на Tomcat для этого проекта. –