Я только что взял кодовую базу, которая является базовым проектом Spring MVC, его конечные точки REST не работают
@RestController
public class RequestWeb {
....
@PostMapping("/requests/v2")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public ResponseEntity<?> postRequestV2( //...
@RequestHeader(HEADER_FEATURES) String features, //...
@RequestBody requestBody requestBody //...
) {
...
}
}
Все остальные комментарии, относящиеся к контроллеру остальных, и c выглядят правильно для меня. основное приложение использует @SpringBootApplication
, @ComponentScan
имеет указанное право basePackages
.
Я смотрел на ComponentScanAnnotationParser
, RestController
bean выше был зарегистрирован.
Когда я добавил точка останова на initHandlerMappings
в классе DispatcherServlet
, есть только три соответствующих бина, которые выглядят неправильно.
по сравнению с другими хороший проект Spring MVC, я вижу, что requestMappingHandlerMapping
отсутствует в результатах.
Я не знаю, почему @PostMapping
сделал не работает (он должен был изменить тип компонента на requestMappingHandlerMapping
?), где я должен поставить точку останова в Spring Framework для устранения этой проблемы?