Связывание разделенных точками строк с помощью @PathVariable в Spring MVC - PullRequest
8 голосов
/ 10 января 2012

У меня есть следующий метод в моем контроллере:

@RequestMapping( value="/servers/{server}", method = RequestMethod.GET )
public @ResponseBody List<Application> getServerInformation( String server ) {
    logger.debug( "Request for server: " + server );
    ...
}

Когда я запрашиваю / servers / test.myserver.com , связанная переменная имеет значение test.myserver . Как правило, для любого запроса, который включает значения, разделенные точками, последняя часть не указывается в значении связанной переменной. Я использую Spring 3.0.4

Есть предложения?

Спасибо

Ответы [ 2 ]

9 голосов
/ 10 января 2012

Вы можете использовать шаблоны соответствия стиля Ant.Для вашего примера вы можете просто сделать это:

@RequestMapping( value="/servers/{server:.*}", method = RequestMethod.GET )
public @ResponseBody List<Application> getServerInformation(
                          @PathVariable(value = "server") String server ) {
    logger.debug( "Request for server: " + server );
    ...
}
2 голосов
/ 10 января 2012

Вы можете изменить useDefaultSuffixPattern для DefaultAnnotationHandlerMappingПроверьте Как изменить поведение Spring MVC при обработке символа 'точка' URL для обсуждения этого вопроса.

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