まず、インターフェイスのドキュメントはswagger2を使用して生成されます
-
頼ります
<依存性> <のgroupId> io.springfox </のgroupId> <たartifactId> springfox-swagger2 </たartifactId> <バージョン> 2.7.0 </バージョン> </依存>
<! - ブートストラップ・インタフェースを造園の闊歩 - >
<依存性>
<のgroupId> io.springfox </のgroupId>
<たartifactId> springfox-闊歩-UI </たartifactId>
<バージョン> 2.7.0 </バージョン>
</依存> - スタートアップクラスspringboot上のプラスEnableSwagger2コメント@
- コントローラインタフェースプラス@ApiOperation(値=「ユーザクエリサービス」)注釈インターフェイスの役割ことを示しています。
swagger2一般的に使用される注釈:
@Api()クラスを示す要求クラス図で使用されているだけでなく、このクラスのリソースを表すswagger2あります
参数:tags:说明该类的作用,参数是个数组,可以填多个。
value="该参数没什么意义,在UI界面上不显示,所以不用配置"
description = "用户基本信息操作"
)(@ApiOperation:操作するための方法は、HTTP要求をアクセスする方法を表します
参数:value="方法的用途和作用"
notes="方法的注意事项和备注"
tags:说明该方法的作用,参数是个数组,可以填多个。
格式:tags={"作用1","作用2"}
(在这里建议不使用这个参数,会使界面看上去有点乱,前两个常用)
@ApiModel()の効果を説明するためのエンティティ・クラスに応じて、エンティティ
参数:description="描述实体的作用"
@ApiModelProperty:エンティティクラス属性の説明に使用されるプロパティ
参数:value="用户名" 描述参数的意义
name="name" 参数的变量名
required=true 参数是否必选
@ApiImplicitParams:複数を含む、方法で使用される要求@ApiImplicitParam
@ApiImplicitParam:方法、別個のリクエストパラメータを表します
参数:
name="参数ming"
value="参数说明"
dataType="
数据类型"
paramType="query" 表示参数放在哪里
· header 请求参数的获取:@RequestHeader
· query 请求参数的获取:@RequestParam
· path(用于restful接口) 请求参数的获取:@PathVariable
· body(不常用)
· form(不常用)
defaultValue="参数的默认值"
required="true" 表示参数是否必须传
@ApiParam()を示す、説明のためのパラメータのための方法、パラメータフィールド指定要件
参数:name="参数名称"
value="参数的简要说明"
defaultValue="参数默认值"
required="true" 表示属性是否必填,默认为false
@ApiResponses:要求するための方法であって、異なる応答コードに係る応答を示し複数を含む@ApiResponsesを@ApiResponse
@ApiResponse:要求の方法で使用される、応答が異なることを示し
参数:code="404" 表示响应码(int型),可自定义
message="状态码对应的响应信息"
@ApiIgnore():クラスまたはメソッドには、ページに表示されていない
@Profile({「DEV」、「テスト」}): コンフィギュレーション・クラスのため、開発およびテスト環境のためにのみ有用表します
第二に、WireMockを使用して偽造RESTサービス
WireMockは、テスト、Webサービスのための柔軟なライブラリであり、かつ他のテストツールはWireMockテストを容易にするために、あなたのWebサービスを実行するために、実際のHTTPサーバを作成し、異なっています。
これは、スタブHTTPレスポンスをサポートする認証、プロキシ/傍受、録音と再生を要求し、テスト環境やテストユニットでの展開に使用することができます。
使用シナリオ:
- テストモバイルアプリケーションはサードパーティのRESTのAPIに依存しています
- ラピッドプロトタイピングのためのAPIを作成します。
- サードパーティのサービスエラーの注入をシミュレートしにくいです
- ユニットテストのWebサービスに依存して任意のコード
-
公式サイト:http://wiremock.org/
実行可能なjarファイルをダウンロードします。http://wiremock.org/docs/running-standalone/
- 3298 --portのjava-jarファイル启动瓶包のjava -jar wiremock-スタンドアロン-2.18.0.jar
- 依存追加
<依存性> <のgroupId> com.github.tomakehurst </のgroupId> <たartifactId> wiremock </たartifactId> <バージョン> 1.53 </バージョン> <分類器>スタンドアロン</クラシファイア> </依存> <依存性> <のgroupId> ORG .testng </ groupIdを> <たartifactId> TestNGの</たartifactId> <バージョン> 6.8 </ version>の </依存関係>
- 返されたJSONデータを格納し、TXTファイルを確立するために、フォルダのリソースでドキュメントを作成します。
- 設定を追加
パブリック 静的 ボイドメイン(文字列[]引数)がスローにIOException { WireMock.configureForを( "127.0.0.1"、3298)。// 设置路径和端口 WireMock。removeAllMappings(); // 清空所有设置 モック( "/試験/ 01"、 "01" )。 モック( "/試験/ 02"、 "02" )。 } プライベート 静的 ボイドモック(文字列のURL、文字列ファイル)がスローにIOException { ClassPathResource資源 = 新しい ClassPathResource( "応答/" +ファイル+ ".txtファイルを" )。 文字列の内容StringUtils.join =(FileUtils.readLines(resource.getFile()、 "UTF-8")のtoArray()、 "\ N-。"); // 戻り値の結果 stubFor((urlPathEqualTo(URL)を取得する )willReturn(aResponse(。 ).withBody(コンテンツ).withStatus(200は))); // GETまたはPOSTリクエスト戻り値 }