I.はじめに
swagger-ui は Java 開発で API ドキュメントを作成するためのプラグインで、バックエンド エンジニアとフロントエンド エンジニア間の共同デバッグ インターフェイスのブリッジとなります。生成されたドキュメントにより、多くの不必要なコミュニケーションが削減され、開発とテストの効率が向上します。
2 番目に、swagger-ui の使用
1. Maven 依存関係を導入する
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger2.version}</version>
</dependency>
バージョン: <swagger2.version>2.9.2</swagger2.version>
2. springboot スタートアップ クラスにアノテーションを追加します。
@EnableSwagger2
ドキュメントが開かれていることを示します
3. コントローラーメソッドにアノテーション @ApiOperation を追加します
のように:
@RestController
@RequestMapping("tmpMUser")
public class TmpMUserController {
@Autowired
private TmpMUserService tmpMUserService;
@ApiOperation(value = "解密酒店手机号", httpMethod = "POST", response = ResponseData.class, notes = "解密酒店手机号")
@PostMapping("updateOne")
public ResponseData<String> updateOne(Map<String, Object> param) {
try {
tmpMUserService.updateOne();
return ResponseData.success("成功");
} catch (Exception e) {
e.printStackTrace();
}
return ResponseData.error();
}
}
4. プロジェクト IP、ポート、swagger-ui.html# を介してアクセスします。
http://ip:port/swagger-ui.html#
5. 文書の説明
このドキュメントでは、リクエストのメソッド、アドレス、インターフェイスの目的が紹介されています。
3. より豊富な注釈
上記の単純な使用に加えて、API には多くの豊富なアノテーションがあります
/**
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiProperty:用对象接收参数时,描述对象的一个字段
@ApiResponse:HTTP响应其中1个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiError :发生错误返回的信息
@ApiImplicitParam:一个请求参数
@ApiImplicitParams:多个请求参数
*/
例えば:
@ResponseBody
@PostMapping(value="/login")
@ApiOperation(value = "登录检测", notes="根据用户名、密码判断该用户是否存在")
public UserModel login(@ApiParam(name = "name", value = "用户名", required = false)
@RequestParam(value = "name", required = false)
String account,
@ApiParam(name = "pass", value = "密码", required = false)
@RequestParam(value = "pass", required = false)
String password){}
//或以实体类为参数:
@ResponseBody
@PostMapping(value="/login")
@ApiOperation(value = "登录检测", notes="根据用户名、密码判断该用户是否存在")
public UserModel login(@ApiParam(name = "model", value = "用户信息Model") UserModel model){}
4. swagger-ui の概要
OpenAPIはAPIドキュメントを記述するための仕様ですが、OpenAPIの仕様書を手作業で記述するのは非常に面倒です。Swagger は、OpenAPI 仕様を実装するツールセットです。
Swagger オープンソースとプロフェッショナル ツールセットを使用して、ユーザー、チーム、企業の API 開発を簡素化します。Swagger が大規模な API の設計と文書化にどのように役立つかをご覧ください。