/ / Контролер не розпізнає правильний метод обробника - пружина, пружина-mvc

Контролер не розпізнає правильний метод обробника - пружина, пружина-mvc

У мене є контролер із методами, наведеними нижче:

@Controller
@RequestMapping(value = "/employee/**")
public class EmployeeInfoController{

@RequestMapping(method = RequestMethod.GET)
public ModelAndView getEmployeeInfoCriteria(@ModelAttribute("employeeInfoParam") EmployeeInfoParam employeeInfoParam) {
.....
}

@RequestMapping(value = "/details/{empId}", method = RequestMethod.GET)
public ModelAndView getEmployeeDetailsById(@PathVariable String empId) {
......
}
}

Я очікував щоразу, коли я /application/employee/, він показав би сторінку пошуку, і це робить. Але це не відображає сторінку з даними про працівника, коли я подаю запит /application/emp/details/101, вона переходить на сторінку пошуку замість сторінки деталей. Журнал відображається нижче:

09:45:20,937 INFO  [STDOUT] DEBUG [RequestMappingHandlerMapping:229] - Looking up handler method for path /employee/details/400000000022161
09:45:20,938 INFO  [STDOUT] TRACE [RequestMappingHandlerMapping:267] - Found 2 matching mapping(s) for [/employee/details/400000000022161] : [{[/employee/**],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}, {[/employee/**/details/{empId}],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}]
09:45:20,939 INFO  [STDOUT] DEBUG [RequestMappingHandlerMapping:234] - Returning handler method [public org.springframework.web.servlet.ModelAndView com.application.web.controller.EmployeeInfoController.getEmployeeInfoCriteria(com.application.web.form.EmployeeInfoParam)]

Я зрозумів: якщо я не згадаю жодних додаткових URL-адрес замість ** (що є на рівні класу), це займе getEmployeeInfoCriteria тобто /application/employee/. Якщо я згадаю суб-адресу, наприклад /application/employee/details/1001, це буде обробляти getEmployeeDetailsById. Що мені тут не вистачає?

Відповіді:

2 для відповіді № 1

немає необхідності використовувати ** у відображенні запитів на рівні класу, просто використовуйте

@RequestMapping(value = "/employee/")


2 для відповіді № 2

Узагальнюючий знак заважає йому вирішити наступну URL-адресу. Позбутися цього.