Spring MVC отбрасывает @PathVariable - PullRequest
3 голосов
/ 13 апреля 2011

Если я нажимаю на контроллер несколько раз и бью его, иногда мой параметр modelCode становится равным нулю.Однако в URL есть код модели.Использование Spring Framework 3.0.5.RELEASE

 @RequestMapping(value="ws/getallvariants/{channelCode}/{modelCode}/{regionId}/{year}")
    public ModelAndView getAllVariants(@PathVariable("channelCode") String channelCode, 
          @PathVariable("modelCode") String modelCode,@PathVariable("regionId") String regionId,@PathVariable("year") String year){ </p>

<code>    if (modelCode == null)
    {
        int i = 0; // this should never hit, but does.
    }
</code>

Ответы [ 4 ]

3 голосов
/ 21 августа 2012

Да, RegEx был самым надежным для меня.Сделал это, чтобы получить адрес электронной почты в качестве параметра:

@RequestMapping(value = "rest/userreadserv/search/{email:.+}", method = RequestMethod.GET)
public ResponseEntity getUserAccountByEmail(@PathVariable String email) {...}
1 голос
/ 13 апреля 2011

Взгляните на Spring MVC @PathVariable, получая усечение .Подход regex работал для меня:

@RequestMapping({ "/servers/{serverName:.+}" })

0 голосов
/ 25 марта 2014
//in your xml dispatcher  add this property to your default annotation mapper bean as follow
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
    <property name="alwaysUseFullPath" value="true"></property>
</bean>       
0 голосов
/ 07 мая 2011

Обновление Spring Framework до последней версии, похоже, сработало.Очевидно, когда мы обновили нашу структуру, что-то не работало правильно.

РЕДАКТИРОВАТЬ:

Так что это вообще не было нашей проблемой ... Мы неправильно реализовали Редактор триммера строки, и он сохранял состояние.Поэтому, когда мы помещаем вызов под нагрузкой, он пересечет результаты.

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