Я пытаюсь создать сервис 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) {
...
Я использую @ComponentScan, чтобы контроллер зарегистрирован как этот
@Configuration
@ComponentScan(basePackages = "com.hcl.bc4sc.server.controller")
public class ServerInitialization {
...
Различные бобы в моем классе ServerInitialization в настоящее время определены, так что я знаю, что ServerInitialization обрабатывается 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();
}
Когда я пытаюсь проверить это я использую URL http://localhost/api/v1/registrar/enroll
. Он возвращает 404.
Если я должен начать свою службу по-другому, может кто-нибудь, пожалуйста, указать мне на хороший полный рабочий пример?
Мне было очень поздно, когда я вставлял листинг в это сообщение. В моем нерабочем коде имена пакетов совпадают. Я скорректировал листинг. Контроллер действительно находится в пакете 'com.hcl.bc4sc.server.controller'. – user2102276