0
스프링 웹을 사용하여 RESTful 서비스를 만들려고합니다. 나는 내 ServerInitialization 클래스의 다양한 콩이 정의되고있는이스프링 컨트롤러를 찾을 수 없습니다.
@Configuration
@ComponentScan(basePackages = "com.hcl.bc4sc.server.controller")
public class ServerInitialization {
...
처럼 등록 된 컨트롤러를 얻을 수 @ComponentScan을 사용하고
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은 Spring에 의해 처리됩니다.
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();
}
나는 이것을 테스트하려고
내가 URLhttp://localhost/api/v1/registrar/enroll
를 사용 : 문제가 나는 봄을 시작하고있는 방법을 수 있습니다 및 HttpServer에 다음과 같은 경우
궁금입니다. 404를 반환합니다.
서비스를 다르게 시작해야한다면 좋은 예를 들어 주시겠습니까?
이 메시지에 목록을 붙여 넣었을 때 매우 늦었습니다. 내 비 작동 코드에서 패키지 이름이 일치합니다. 목록을 수정했습니다. 컨트롤러는 실제로'com.hcl.bc4sc.server.controller' 패키지에 있습니다. – user2102276