ホームページ >Java >&#&チュートリアル >Springboot プロジェクトで Swagger を使用する方法

Springboot プロジェクトで Swagger を使用する方法

王林
王林転載
2023-05-13 08:28:121756ブラウズ

1. Swagger とは

Swagger は、RESTful インターフェイスの生成、記述、呼び出しに使用される Web サービスです。平たく言えば、Swagger は、プロジェクト内の (公開したい) すべてのインターフェイスをページ上に表示し、インターフェイスの呼び出しとテストを可能にするサービスです。

2.Swagger は何に使用されますか?

Swagger には次の 3 つの重要な機能があります: プロジェクト内のすべてのインターフェイスをページ上に表示するため、バックエンド プログラマーはフロントエンド ユーザー用の特別なインターフェイス ドキュメントを作成する必要がなくなります。インターフェイスが更新されると、コード内の Swagger の記述を変更するだけで、新しいインターフェイス ドキュメントをリアルタイムで生成できるため、インターフェイス ドキュメントが古くて使用できないという問題が回避されます。Swagger ページを通じてインターフェイスを直接呼び出して、開発を容易にすることができます。

3. springboot で Swagger を導入する方法

1)

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
 
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

に依存します2) コントローラー クラスを作成します

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class TestController {
 
    @PostMapping("/hello")
    public String hello(String str){
        return "hello,"+str;
    }
}

3) Swagger 構成を作成しますclass SwaggerConfig class

@Configuration
@EnableSwagger2//开始Swagger2
public class SwaggerConfig {
 
 
    //配置了Swagger 的Docket的bean实例
    @Bean
    public Docket docket(){
 
        ParameterBuilder ticketPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<>();
        ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(false).build(); //header中的ticket参数非必填,传空也可以
        pars.add(ticketPar.build());    //根据每个方法名也知道当前方法在设置什么参数
 
        return new Docket(DocumentationType.SPRING_WEB)
                .apiInfo(apiInfo())
                .select()
                //RequestHandlerSelectors, 配置要扫描接口的方式
                //basePackage:指定要扫描的包
                //any():扫描全部
                //withClassAnnotation: 扫描类上的注解
                //withMethodAnnotation: 扫描方法上的注解
                .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))
                .build()
                .globalOperationParameters(pars);
    }
 
    //配置Swagger 信息=apiInfo
    private ApiInfo apiInfo(){
        return new ApiInfo(
                "Logistics Api",//文檔命名
                "test",//文檔描述
                "v1.0",//
                "http:127.0.0.1/",
                null,//contact
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList()
        );
    }
}

注意! ######知らせ! ######知らせ!

apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller")) に

"com.example.swagger.controller" パスを独自のコントローラー パッケージのパスとして記述します。

4. プロジェクトの全体構造

#5. URL から Web ページにアクセスします

Springboot プロジェクトで Swagger を使用する方法上記の手順を完了したら、 [実行] をクリックして操作が完了するまで待ち、ブラウザで次の URL にアクセスします:

http://127.0.0.1:8080/swagger-ui.html#/

ポートここを独自のポートに変更する必要があります。

効果は写真の通りです

##

以上がSpringboot プロジェクトで Swagger を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。