Spring MVC Url pattern - PullRequest
       2

Spring MVC Url pattern

2 голосов
/ 12 июля 2011

Мне было интересно, смогу ли я настроить свой URL-адрес в контроллере для принятия нулевых значений

@RequestMapping(
            value = "foo/{y}/{x}",
            method = RequestMethod.GET)
    public ModelAndView doSmth(@PathVariable(value = "x") String x,
                               @PathVariable(value = "y") String y) {
}

Здесь, в моем случае, X, Y может быть пустой строкой. Как я мог управлять чем-то таким, чтобы этот метод на контроллере мог обрабатывать этот URL?

Ответы [ 2 ]

1 голос
/ 12 июля 2011

Не думаю, что это хороший URL.Это может очень запутать пользователей.

Почему бы вам не попробовать этот вариант?

@RequestMapping("foo/x/{x}/y/{y}")
public ModelAndView doSmth(@PathVariable String x, @PathVariable String y)
1 голос
/ 12 июля 2011

Если вы хотите поддерживать необязательные значения, то переменные пути не очень хорошо подходят. Параметры запроса (с использованием @RequestParam) являются лучшей идеей, поскольку они легко поддерживают необязательные значения с использованием атрибута required.

Если вы действительно хотите поддерживать необязательные переменные пути, тогда вам нужно перегрузить ваши отображения, т.е.

@RequestMapping(value = "foo/{y}/{x}")
public ModelAndView doSmth(@PathVariable(value = "x") String x, @PathVariable(value = "y") String y) 

@RequestMapping(value = "foo/{y}")
public ModelAndView doSmth(@PathVariable(value = "y") String y) 

@RequestMapping(value = "foo")
public ModelAndView doSmth() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...