2017-01-08 5 views
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(); 
} 

나는 이것을 테스트하려고

내가 URL http://localhost/api/v1/registrar/enroll를 사용 : 문제가 나는 봄을 시작하고있는 방법을 수 있습니다 및 HttpServer에 다음과 같은 경우

궁금입니다. 404를 반환합니다.

서비스를 다르게 시작해야한다면 좋은 예를 들어 주시겠습니까?

답변

0

는 질문에서 언급 한 코드 당으로, 컨트롤러는

com.hcl.bc4sc.server.config 

에 그러나 당신이하고있는 검사가 패키지입니다 :

com.hcl.bc4sc.server.controller 

먼저이 모호성을 해결해야한다. 그리고 여전히 실패하는지 알려주십시오. 시작 로그가 도움이 될 것입니다.

+0

이 메시지에 목록을 붙여 넣었을 때 매우 늦었습니다. 내 비 작동 코드에서 패키지 이름이 일치합니다. 목록을 수정했습니다. 컨트롤러는 실제로'com.hcl.bc4sc.server.controller' 패키지에 있습니다. – user2102276