何が闊歩は、
闊歩は枠組み文書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