代码之家  ›  专栏  ›  技术社区  ›  user3277841

如何调试Spring引导处理程序映射问题

  •  0
  • user3277841  · 技术社区  · 4 年前

    @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 //...
    
        ) {
            ...
        }
    }
    

    其余的控制器相关的注释等在我看来都是正确的。 主要应用程序使用 @SpringBootApplication , @ComponentScan 他有权利 basePackages 指定的。

    我看着 ComponentScanAnnotationParser , RestController 上面的bean已注册。

    当我在 initHandlerMappings DispatcherServlet 班上,只有三个相配的豆子,看起来不对。

    Wrong mapping results

    与我的另一个优秀的springmvc项目相比,我可以看到 requestMappingHandlerMapping 结果中缺少。

    correct results

    我不知道为什么 @PostMapping 不起作用(它应该将bean类型更改为 requestMappingHandlerMapping请求映射 ?),我应该在Spring框架中的何处放置断点来调试这个问题?

    0 回复  |  直到 4 年前