找不到Spring控制器

找不到Spring控制器,spring,spring-web,spring-webflux,Spring,Spring Web,Spring Webflux,我正在尝试使用SpringWebResponsive创建一个RESTful服务。我有一个控制器,具有通常的结构 package com.hcl.bc4sc.server.controller; ... @RestController @RequestMapping("/api/v1/registrar/enroll") public class ControllerV1RegistrarEnroll { ... @RequestMapping(method = RequestMethod

我正在尝试使用SpringWebResponsive创建一个RESTful服务。我有一个控制器,具有通常的结构

package com.hcl.bc4sc.server.controller;
...
@RestController
@RequestMapping("/api/v1/registrar/enroll")
public class ControllerV1RegistrarEnroll {
...
    @RequestMapping(method = RequestMethod.POST, consumes = "application/json")
    public Mono<ResponseEntity> registrarEnrollPost(@RequestBody final UserInfo userInfo) {
...
正在定义ServerInitialization类中的各种bean,因此我知道ServerInitialization正在由Spring处理

我想知道问题是否与我启动Spring和HttpServer的方式有关,如下所示:

public static void boot() throws TimeoutException {
    final GenericApplicationContext context
            = new AnnotationConfigApplicationContext(DelegatingWebReactiveConfiguration.class,
                                                     ServerInitialization.class);
    final HttpHandler handler = DispatcherHandler.toHttpHandler(context);
    final ServerConfig config = context.getBean(ServerConfig.class);
    applicationContext = Optional.of(context);

    // Reactor Netty
    final Function<HttpChannel, Mono<Void>> adapter
            = new ReactorHttpHandlerAdapter(handler);
    final HttpServer server = HttpServer.create(config.getHost(), config.getPort());
    httpServer = Optional.of(server);
    server.ws("", adapter).startAndAwait();
}
publicstaticvoidboot()抛出TimeoutException{
最终通用应用程序上下文上下文
=新的AnnotationConfigApplicationContext(DelegatingWebReactiveConfiguration.class,
ServerInitialization.class);
final HttpHandler=DispatcherHandler.toHttpHandler(上下文);
final ServerConfig=context.getBean(ServerConfig.class);
applicationContext=可选的.of(上下文);
//反应堆网
最终功能适配器
=新反应器HttpHandlerAdapter(处理器);
最终的HttpServer服务器=HttpServer.create(config.getHost(),config.getPort());
httpServer=可选的.of(服务器);
ws(“,适配器).startAndAwait();
}
当我尝试测试时,我使用url
http://localhost/api/v1/registrar/enroll
。它返回一个404


如果我应该以不同的方式启动我的服务,有人能给我举一个完整的工作示例吗?

根据您在问题中提到的代码,您的控制器处于运行状态

com.hcl.bc4sc.server.config
但您正在进行的扫描针对的是软件包:

com.hcl.bc4sc.server.controller

您应该首先修复这种模糊性。如果仍然失败,请告知。启动日志会有所帮助

根据您在问题中提到的代码,您的控制器处于

com.hcl.bc4sc.server.config
但您正在进行的扫描针对的是软件包:

com.hcl.bc4sc.server.controller

您应该首先修复这种模糊性。如果仍然失败,请告知。启动日志会有所帮助

当我将清单粘贴到这条消息中时,我已经很晚了。在我的非工作代码中,包名称确实匹配。我已经更正了清单。控制器确实在包
com.hcl.bc4sc.server.controller
中。当我将列表粘贴到此消息中时,已经很晚了。在我的非工作代码中,包名称确实匹配。我已经更正了清单。控制器实际上在包
com.hcl.bc4sc.server.controller
中。