Spring MVC - Не найдено сопоставлений для URI запроса

. Есть много вопросов, связанных с этой ошибкой в ​​Stack Overflow, и я безуспешно пробовал решения для наиболее подходящих из них. Вот моя проблема.

Я пытаюсь сопоставить этот запрос: / user / {userId} , где userId - это строка. Я могу обрабатывать GET-запросы к / user с помощью следующего аннотированного класса и конфигурации Spring :

UserController.java

@Controller
@RequestMapping("/user")
public class UserController {
    private static final Logger log = Logger.getLogger(UserController.class.getName());

    @RequestMapping(method=RequestMethod.GET)
    public @ResponseBody String info() {
        log.debug("mapping succeeded!");
        return "

foo

"; } }

web / WEB-INF / user-servlet. xml




    

web.xml


    user
    org.springframework.web.servlet.DispatcherServlet
    1


    user
    /user/*

Затем, когда я запрашиваю / user

2011-01-14 15:47:41,942 DEBUG [com.example.rest.UserController] (http-11080-1) mapping succeeded!

Теперь нужно сделать что-нибудь интересное. Я меняю свой код на следующий:

@Controller
@RequestMapping("/user")
public class UserController {
    private static final Logger log = Logger.getLogger(UserController.class.getName());

    @RequestMapping(value="/{userId}", method=RequestMethod.GET)
    public @ResponseBody String info(@PathVariable String userId) {
        log.debug("mapping succeeded! userId=" + userId);
        return "

foo

"; } }

У меня ужасный Сопоставление не найдено ...

(main) Pre-instantiating singletons in     org.springframework.beans.factory.support.DefaultListableBeanFactory@36598d00: defining beans     [userController,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor]; root of factory hierarchy
(main) instantiating UserController
(main) Mapped URL path [/user/*] onto handler 'userController'
(main) Mapped URL path [/user/*.*] onto handler 'userController'
(main) Mapped URL path [/user/*/] onto handler 'userController'

...

(http-11080-1) No mapping found for HTTP request with URI [/user] in DispatcherServlet with name 'user'
(http-11080-1) No mapping found for HTTP request with URI [/user/foo] in DispatcherServlet with name 'user'
(http-11080-1) No mapping found for HTTP request with URI [/user/] in DispatcherServlet with name 'user'

Что я делаю не так?

7
задан Peter Mortensen 16 October 2012 в 19:09
поделиться