У меня есть устаревшее веб-приложение (spring 4.2. *), Которое использует шаблон проектирования Front Controller (с использованием диспетчерского сервлета) для разрешения представлений. Я хотел добавить свой первый Rest API. Теперь я получаю разрешенный метод 405
вот мой код контроллера отдыха
@RestController
public class ProductCatalogResource {
@RequestMapping(method = RequestMethod.POST, value="/api", produces = {
MediaType.APPLICATION_JSON_VALUE }, consumes = { MediaType.APPLICATION_JSON_VALUE })
public String create(ProductLocation productLocation) {
return "succcess";
}
@RequestMapping("/")
public String welcome() {
return "Welcome to RestTemplate Example.";
}
}
, когда я отправляю вызов http://localhost: 8090 / api Я получаю
<html>
<head>
<title>Error</title>
</head>
<body>HTTP method POST is not supported by this URL</body>
</html>
из журналов отладки, которые я нашел ниже. Я чувствую, что вторая часть журнала говорит, что сопоставления URL-адресов пусты. Может быть, устаревшая конфигурация сервлета диспетчера отменяет регистрацию Rest Resource? Любая помощь в решении проблемы?
2020.06.19 04:30:18.656 ServerService Thread Pool -- 68 DEBUG 2 request handler methods found on class com.org.webservice.controller.ProductCatalogResource: {public java.lang.String com.org.webservice.controller.ProductCatalogResource.create(com.org.webservice.controller.ProductLocation)={[/api],methods=[POST],consumes=[application/json],produces=[application/json]}, public java.lang.String com.org.webservice.controller.ProductCatalogResource.welcome()={[/]}}
2020.06.19 04:30:18.658 ServerService Thread Pool -- 68 INFO Mapped "{[/api],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public java.lang.String com.org.webservice.controller.ProductCatalogResource.create(com.org.webservice.controller.ProductLocation)
2020.06.19 04:30:18.659 ServerService Thread Pool -- 68 INFO Mapped "{[/]}" onto public java.lang.String com.org.webservice.controller.ProductCatalogResource.welcome()
.
.
.
2020.06.19 04:30:18.936 ServerService Thread Pool -- 68 DEBUG Rejected bean name 'productCatalogResource': no URL paths identified
Обновление: Сопоставления запросов отменяются сопоставлениями URL-адресов