springBoot統合APIドキュメントツールSwagger2

A、Swgger紹介

1.公式サイト

https://swagger.io/

2.はじめに

闊歩は、RESTfulなWebサービスの作成、記述、および可視化の呼び出しのための標準化され、完全なフレームワークです。
SWAGGERの目標は、標準のREST APIと言語に依存しないインタフェースを定義することで、人々がアクセスのソースコード、ドキュメント、または監視ネットワークトラフィックへのコンピュータとの必要性を持つことができるサービス能力を発見し、理解することができます。適切に闊歩によって定義された場合、ユーザーはリモートサービスとリモートサービス実装ロジック最小限の相互作用を理解し、使用することができます。基礎となるプログラミング・インターフェースは、同様の実装のためにと、闊歩は当て推量通話サービスを排除している可能性があります。
3.Swaggerの利点が
自動的にプログラマのための手動での書き込みインタフェースのドキュメントへの必要性を排除し、直接コードとシンプルな構成ファイルを使用闊歩した後に生成することができ、同期APIドキュメントの自動生成をサポートし、あなたがにドキュメントを書くための時間を節約することができます新しいスキルを学ぶ
WebページオンラインテストAPIを提供し、あなたはインターフェイスのテストのための郵便配達や他のツールを必要としないことができ、オンラインテストのパラメータやフォーマットが決定され、直接Webインターフェイスで設定されたパラメータは、インタフェースの友人をテストすることができます。

二、springBoot統合闊歩

1.は、その依存関係を導入し、新しいspringBootを作成します。

    <! - https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 - > 
        <依存> 
            <groupIdを> io.springfox </ groupIdを> 
            <たartifactId> springfox-swagger2 </たartifactId> 
            <バージョン> 2.9.2 </バージョン> 
        </依存関係> 
        <! - https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui - > 
        <依存> 
            <groupIdを> io.springfox </ groupIdを> 
            <たartifactId> springfox-闊歩-UI </たartifactId> 
            <バージョン> 2.9.2 </バージョン> 
        </依存>

HelloController制御インターフェース新しいクラスを作成し、新しいコンフィギュレーション・クラスの闊歩を作成2.

このクラスは、クラス構成されているので、その設定@注釈を追加し、EnableSwagger2 @ Swggerノートはシンプルで闊歩を使用するので、あなたが行うことができ、闊歩に示しますが、すべての構成は、デフォルトのオプションを実行します

 

 ブラウザのルートプラス/swagger-ui.htmlでは、あなたは、ウェブ側APIドキュメントにアクセスすることができます

 

 

この絵のショーは、すべてデフォルトの設定では、あなたが私たちのために、このルート、こんにちはコントローラを行くページは、404ページまたは他のデフォルトへのアクセスなど、キャリアインタフェース部の基本的な誤りコントローラが内蔵されている4つの部分に分かれて見ることができます新しいコントローラは、もちろん、我々は必要な闊歩として設定することにしたいと、両側には、彼は、APIを生成するためのシンプルなツールを持っているようにする必要があり

@Configuration 
@ EnableSwagger2 
パブリッククラスSwagger2Config { 

    @Bean 
    公衆整理整理番号(){ 
        新新しい整理番号(DocumentationType.SWAGGER_2)を返す
                .apiInfo(apiInfo())
                .Select()
                スキャンに//設定モードインタフェースRequestHandlerSelectorsを
                basePackageが指定されたスキャンを示す//パケット
                .apis(RequestHandlerSelectors.basePackage( "com.example.demo03.controller"))
                //パスはパスフィルタ得る必要示さ
                .paths(PathSelectors.any())
                ; .build()
    } 

    闊歩の構成の// apiInfoをapiInfo情報
    プライベートapiInfo apiInfo(){
        連絡先の連絡先=新しい連絡先( "liufuqiang"、 "https://cnblogs.com/LiuFqiang"、 "[email protected]"); 
        新しいApiInfoを返す(
                "门诊用药分析系统后台RESTfulなAPI文档"、
                "著者:liufuqiang"、
                "v1.0の"、
                "https://cnblogs.com/LiuFqiang"、
                連絡先、
                "Apache 2.0の"、
                「のhttp:/ /www.apache.org/licenses/LICENSE-2.0" 、
                新しいのArrayList()
        ); 
    } 
}

  ここでは、基本となるソースコードを見ることで、私たちはいくつかのプロパティがあります見ることができ、闊歩の一例として、簡単な構成、ドケットを持っているドケット

 

 そして、我々は、そのような場所APIの基本情報の変更など、これらのプロパティを設定するには良い闊歩の必要性を使用し、表面をスキャンするパッケージのニーズを指定したいです

 

 

第三に、コンテキストスイッチ

私たちは正常な発達であったが、環境がライン上にある場合は、直接この文書にさらされる、開発環境と本番環境があるでしょう良くないかもしれません、我々はすべてのプロジェクト環境が開いて闊歩に対応するかどうかに応じて変更する必要がありますする必要

 

 API情報変わらず、プロジェクトの環境を監視するために増加財産環境、開発環境であれば、オープン闊歩に設定し、ビルド環境であれば、無効に闊歩、そのような私たちは3030を有効にするための環境を構築する場合など、次の画面が表示されます。

 

第四に、文書がグループ化されています 

私たちはチーム開発したとき、APIドキュメントのパケットに、それは、フロントエンド開発者のようにグループ化されます個々の文書に最適です

 

 人々が開発するときに、自動的に春のための複数のインスタンスドケットコンテナ注入、

 

 私たちが対応する3つの例、otherAとotherBを注入ので、我々は、我々はどのような構成を持っていないので、右上隅にあるいくつかのより多くのスペースを見ることができるので、デフォルトの設定ページで私たちの最初のステップがあるでしょう

第五に、コードのコメント

データ関与POJOクラスがあれば、我々は、コントローラにデータを返す場合は、このエンティティのクラスがモデルに表示されます

@RestController 
パブリッククラスHelloController { 

    @Autowired 
    プライベートHelloService helloService。

    ( "/ getAllUser")@GetMapping 
    公共学生getAllUser(){ 
        リターン新しい学生を(); 
        
    } 
}

 ここでは、新しいエンティティクラスの学生を作成HelloControllerクラスのメソッドを持っているエンティティクラスを返します。

 

 人々は、おそらく開発する際に最も痛みを伴うことは、ドキュメントを生成するコードのすべてのコメントという名前の他の人が理解していないいくつかのフィールドがあるかもしれない、他の誰かが書いたコードを見ることです

 

 

 

 もちろん、我々はまた、ノートパラメータを作ることができ、インタフェース名の要求

 

 

 

第六に、オンラインテスト

それを試してみるの方法をクリックします

 

 

 

次に、実行回線インタフェーステストを実行するための要求を送信します

 

おすすめ

転載: www.cnblogs.com/LiuFqiang/p/12466606.html