春ブーツ+闊歩-UIインターフェイスのドキュメントは、ライトバックします

何が闊歩は、

闊歩は枠組み文書RESTfulなスタイルのインターフェイスであると自動的にオンラインテストを生成します

springboot 統合闊歩-ui

1 追加のMavenのSwagger2依存性

<! -闊歩のAPI文档- > 
<依存>
<groupIdを> io.springfox </ groupIdを>
<たartifactId> springfox-swagger2 </たartifactId>
<バージョン> 2.7.0 </バージョン>
</依存関係>
<依存>
<のgroupId> io.springfox </のgroupId>
<たartifactId> springfox-闊歩-UI </たartifactId>
<バージョン> 2.7.0 </バージョン>
</依存>

2.構成クラスSwagger2を作成します。

輸入io.swagger.annotations.ApiOperation。
輸入org.springframework.context.annotation.Bean。
輸入org.springframework.context.annotation.Configuration。
輸入springfox.documentation.builders.ApiInfoBuilder。
輸入springfox.documentation.builders.PathSelectors。
輸入springfox.documentation.builders.RequestHandlerSelectors。
輸入springfox.documentation.service.ApiInfo;
輸入springfox.documentation.spi.DocumentationType。
輸入springfox.documentation.spring.web.plugins.Docket。
輸入springfox.documentation.swagger2.annotations.EnableSwagger2; 


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

    / ** 
     ここ* swagger2プロファイル、パッケージなどいくつかの基本的な設定swagger2内容、及びそのスキャン
     * 
     * @return 整理番号
      * / 
    @Bean 
    公衆整理番号createRestApi(){
         返す 新新(整理番号を)DocumentationType.SWAGGER_2 
                .apiInfo((apiInfo))
                .Select()
                // このパッケージのクラスパスは、インタフェース文書生成 
                .apis(RequestHandlerSelectors.basePackage( "com.swd.imes.webを" ))
                 // 追加ApiOperation注釈付きクラスには、それはインターフェースのドキュメントの生成 
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperationを。クラス))
                .paths(PathSelectors.any())
                .build(); 
    } 


    / ** 
     *詳細はAPIドキュメント、ここで参照音符のコメント機能
     * 
     * @return 
     * / 
    プライベートApiInfo apiInfo(){
         返す 新しい新しい(ApiInfoBuilderを)
                 //  // タイトル 
                .TITLE( "XXXシステム・インターフェース" // バージョン番号 
                .version( "1.0" //                 .termsOfServiceUrl( "サービスのNO規約")
                 // 説明 
                .DESCRIPTION(「バックオフィスサービスAPIインタフェースドキュメント" //作者 
                が.contact( "程序猿XXX" // が.contact(新しい連絡先( "管理者"、 ""、 " "))
                 // .license(" Apacheライセンス、バージョン2.0")
                 // .licenseUrl(」HTTP ://www.apache.org/licenses/LICENSE-2.0.html 「)
                .build(); 
    } 

}
春に設定されたクラスをロードする@Configurationアノテーション、
@ EnableSwagger2アノテーションがSwagger2有効
createRestApi()関数はビーンドケット作成
select()関数はする闊歩を示すために露出されているインタフェース制御するApiSelectorBuilder例を返し
、この例のパケットで指定された走査パスを使用し定義された、闊歩はパケットで定義されているすべてのAPIコントローラをスキャンし、(指定@ApiIgnoreを除いて)ドキュメントのコンテンツを生成します。
apiInfo()関数は、APIの基本的な情報(文書の基本情報展覧会になりましページ)を作成します。

3、文書の内容を追加

@RestController 
@RequestMapping( "/ IFactoryです/ SWD / HTTP /パック" 
@Api( "統合デバイスインターフェイス" パブリック クラスDeviceIntegratedInterface { 

    @Resource 
    ILoginService iLoginService; 

    @ApiOperation(値 = "ログインインタフェース" =「戻るデータインタフェースノート形式{\「ステータス\」:\ \「JSESSIONの:「真\」、\「RESULT \」 ロゴ\」}ログインに成功を返す「真」と「JSESSIONアイデンティティ」は、JESSIONはグローバル変数を維持する必要性を識別している場合は、各ログイン後のグローバル変数の値を更新する必要があります。「
    (@PostMapping」/equipmentIntegratedAction!logIn.actionを「公共の結果ログイン(
            @ApiParam(値 =」サイト"必要= )@RequestParam(値= "のsiteId"、必要= )文字列のsiteId、
            @ApiParam(値 = "用户"、必要=  =必須)@RequestParam(値= "ユーザ名"、真の)文字列名、
            @ApiParam(値 = "密码"、必須= )@RequestParam(値= =必要な"パスワード"、真の)文字列のパスワード、
            @ApiParam(値 = "工序" =必須)@RequestParam(値= "OPERATION"、必須= )は、文字列操作、
            @ApiParam(値 = "资源"、必要= )@RequestParam(値= "RESOURCE"、必要= )は、文字列リソース、
            リクエストしたHttpServletRequest){ 

        IF (StringUtils.isBlank(ユーザー名)){
             スロー 新新はServiceException( "ユーザー名は空にすることはできません!" ); 
        } 
        のIF (StringUtils.isBlankは(パスワード)){
             スロー 新新はServiceExceptionが( "空のエントリがありません!" ); 
        } 
        IF (StringUtils.isBlank(のsiteId)){
             スロー 新新はServiceException( "サイトは空にすることはできません!" ); 
        } 

        LoginVO loginDto = 新しい新しい。LoginVO()setSiteId(のsiteId).setUsername(ユーザー名).setPassword(パスワード)
                .setOperation(操作).setResource(リソース).setBaseUrl(CommonUtils.getBaseUrl(リクエスト))
                .setAccessUrl(CommonUtils.getIpAddress(リクエスト))。
        返すResultGenerator.genSuccessResult(iLoginService.login(loginDto)); 
    } 

    @Resource 
    ICheckOperationService iCheckOperationService。

    @ApiOperation(値 = "检查是否在当前工序上排队" 
    @PostMapping( "/equipmentIntegratedAction!doCheckOperation.action" 公衆結果doCheckOperation(
            @ApiParam(値 = "JSON" =必須)@RequestParam(値= " dataJson」)文字列dataJson){

        CheckOperationVo checkOperationVo = JSON.parseObject(dataJson、CheckOperationVo。クラス)。
        返すResultGenerator.genSuccessResult(iCheckOperationService.isCurOperationNew(checkOperationVo)); 
    } 
}
上記のコードの完了時に訪れ、春のブートプログラムを起動するために追加されます。HTTP:// localhostを:8080 /威張っ-ui.html

コントローラ、自動生成されたAPIドキュメントに注釈を追加します。

一般的な注意事項:

@Api:クラスで、クラスの役割を説明しました。

@ApiOperation:APIメソッドの説明を高めるためのアノテーション。

@ApiParam:メソッド、パラメータ、フィールドの説明、パラメータを表すためにメタデータを追加する(必要な命令などの場合)

@RestController 
@RequestMapping( " / IFactoryです/ SWD / HTTP / パック")
 @Api ( "クエリーインターフェイス")
 パブリッククラスQueryDataInterface { 

    @Resource 
    ICheckBarcodeService iCheckBarcodeService; 

    @ApiOperation(値= "セルバーコードとバーコードパックピアレビュー"、ノート= "単一セルPackSn CellSnのピアレビューおよび/ マルチコアCellSn任意のチェックPackSn")
     @PostMapping( " / equipmentIntegratedAction!doCheckBarcode.action")
     公衆結果doCheckBarcode(@ApiParam(値= "JSON"、必要=真)@RequestParam(値= "dataJson")文字列dataJsonVo){ 
        CheckBarcodeVo checkBarcodeVo = JSON.parseObject(dataJsonVo、CheckBarcodeVo.class)。
        返すResultGenerator.genSuccessResult(iCheckBarcodeService.findCellCode(checkBarcodeVo)); 
    } 
}

 

:@ApiParamは、次のようにパラメータを追加@ApiOperation APIおよび関連する注釈 
、@ApiOperation(値=「説明インタフェース」、HTTPMETHOD =「インターフェース要求モード」、応答=「リターン・パラメータインタフェースタイプを」=「インタフェースリリースノートノート「);他のパラメータは、ソースを参照; 
@ApiParam(=必要な」パラメータ「は、名前=」かどうかをパラメータ名「値=」説明特定のパラメータ「)しなければなりません

 

https://www.cnblogs.com/woshimrf/p/5863318.html

 

おすすめ

転載: www.cnblogs.com/xidianlxf/p/11032735.html