2

spring-mvc アプリがあり、RestAPI を埋め込んでいます。すべて正常に動作し、Rest API が/rest/*URL にマッピングされています。SwaggerConfig を追加すると、コントローラーが認識され始めましたが、swagger-ui (コンシューマーと API のやり取りを簡素化するための GUI フォーム) で試してみると、 ここに画像の説明を入力

404 not found ステータスになりました。これはこれで試したので ここに画像の説明を入力 、有効なURLでリクエストを行いません

http://localhost:8080/ProductCatalog/rest/branch?id=1

SwaggerConfig は正しい URL にマップされていますが、書き込み時にこの GUI 表現を取得したためです。

http://localhost:8080/ProductCatalog/rest/swagger-ui.html

ルート URL にアプリの主要な部分があります (これは私が作業している部分ではありません) 私の部分は次の場所にマップされてい/rest/* ます この「試してみる」URL を変更するにはどうすればよい/rest/*ですか? 私の SwaggerConfig

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket pscApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                //.groupName("PSC");
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("restService.com.websystique.springmvc"))
                .paths(PathSelectors.any())
                .build();
        //PathSelectors.regex("/api/.*")
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("RestApiOfPSC")
                .description("REST API for PSC.")
                .build();
    }
}

そして私もこれを指定しました

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

私の悪い英語で申し訳ありませんが、事前に感謝します

4

1 に答える 1

5

私はこれを行う方法を持っています。

docket.pathMapping("/rest");

また、ドケットビーンで別の方法で変更する必要がある場合もあります。docket.host("your host url"); より正確に私の問題を読んで ください

リファレンス #issue1050 も参照してください。

于 2016-08-26T07:05:10.107 に答える