РЕШИЛИ НА ЭТОГО ОТВЕТ Spring invokes wrong controller mapping Spring @Controllers URL-адрес всегда интерпретируется по отношению к пружинному Dispatcher Servlet, который обрабатывает их. Так что если вы карта диспетчера сервлета/API/ в web.xml, то URL к контроллеру выше/API/API/выбор404 Ошибка с REST конечной точки в SpringMVC для DispatcherServlet
Двойной строка сервиса/сервис/1234 работал.
ОРИГИНАЛЬНЫЙ ПОСТ
Доступ к конечной точке REST ресурс дает мне ошибку 404, хотя кажется, что все правильно определены:
Выход Вход:
DEBUG DispatcherServlet with name 'mvc-dispatcher' processing GET request for [/myapp/service/1234]
DEBUG Looking up handler method for path /1234
DEBUG Did not find handler method for [/1234]
WARN No mapping found for HTTP request with URI [/myapp/service/1234] in DispatcherServlet with name 'mvc-dispatcher'
web.xml
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
SpringMVC Контроллер
@RestController
@RequestMapping("/service")
public class RESTController {
@RequestMapping(value="/{id}", method=RequestMethod.GET)
public String getResult (@PathVariable String id)
{
//... get JSON result
}
}
Ожидаемый вызов: myapp/service/1234
попытался также следующие варианты: 1) Не определить класс RequestMapping, просто сделайте метод запроса Mapping
@RequestMapping("/service/{id}")
2) а также
@RequestMapping("/service*/{id}")
@RequestMapping("/service**/{id}")
Keep gett с 404 с журналом выше.
Да, к сожалению, мы смешали Struts/SpringMVC вызовы, поэтому мы не можем перенаправить все к MVC Dispatcher. Но вы правы, ссылки относительны, поэтому он не работает. Это было бы/service/service/1234. Я уточню свой ответ. –
можете ли вы добавить свой файл конфигурации и журнал сопоставления во время запуска сервера? –