私はspring web reactiveを使用して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によって処理されています。
問題は、私はこのような春とHttpServerをし始めています方法であるかもしれない場合、私は疑問に思って:私は、URL http://localhost/api/v1/registrar/enroll
を使用これをテストしようとすると
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();
}
。それは404を返します。
サービスを別の方法で開始する必要がある場合は、完全な使用例を教えてください。
このメッセージにリストを貼り付けたときは、私にとって非常に遅かったです。私の動作していないコードでは、パッケージ名が一致します。私はリスティングを修正しました。コントローラは実際には 'com.hcl.bc4sc.server.controller'パッケージに入っています。 – user2102276