送信元アドレス:https://github.com/laolunsi/spring-boot-examples
現在SpringBootは、多くの場合、特に分離プロジェクトの終了前と後に、JavaのWebアプリケーションを開発するために使用されます。通信するために、フロントとバックエンドの開発者の利便性のために、私たちはSpringBootで闊歩を導入しています。
闊歩がインターフェイスに適用、インターフェースは特に繧APIの場合、データの可視化を可能にします
このセクションでは、2つの部分を説明し、第一の部分は、2つの方法SpringBoot闊歩、インタフェースの第二の部分は、Webアプリケーション闊歩注釈に詳細に記載されているに導入されます。
この記事ではSpringBoot 2.1.10.RELEASEとspringfox-闊歩2.9.2を使用しています
A、二つの方法闊歩の導入をSpringBoot
現在SpringBoot闊歩を使用しての2つの方法があります。
- 紹介闊歩ネイティブの依存関係
springfox-swagger2
とspringfox-swagger2-ui
- 国内Spring4Allコミュニティ開発に導入
swagger-spring-boot-starter
依存的様式でネイティブJava設定クラスのセットで撮影されたプロファイルの生成の構成、及び依存性をSpring4All。
1.1 原生配置Swagger
Mavenの依存性:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
闊歩構成クラス:
/**
* swagger2配置类
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("基于Swagger构建的Rest API文档")
.description("更多请咨询服务开发者eknown")
.contact(new Contact("空夜", "http://www.eknown.cn", "[email protected]"))
.termsOfServiceUrl("http://www.eknown.com")
.version("1.0")
.build();
}
}
ここからは見ることができる欠点闊歩者:設定が柔軟で変更することはできませんので、SpringBootの設定ファイルで設定することはできません。
spring4allコミュニティ生成威張っスプリング・ブート・スターターは、この問題を解決することができます。
1.2コンフィギュレーション闊歩ベースspring4all
Spring4Allコミュニティボーメイン猿DDと小さな火2人は現在、公式のMavenリポジトリに並ぶ、春ブーツスターター闊歩を開発しました。
依存関係に導入され、最初の選択:
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.9.0.RELEASE</version>
</dependency>
このように構成され威張っは、アプリケーション構成ファイルによって行われます。一例を以下に示します。
server:
port: 8106
swagger:
base-path: /**
base-package: 'com.example'
title: 'spring-boot-swagger-demo'
description: '基于Swagger构建的SpringBoot RESTApi 文档'
version: '1.0'
contact:
name: '空夜'
url: 'http://www.eknown.cn'
email: '[email protected]'
第二に、アプリケーション闊歩ビルド視覚的インターフェース
2.1コントローラクラスのノートが闊歩を追加します
以下は簡単な例を与えます:
@Api(tags = "用户管理")
@RestController
@RequestMapping(value = "user")
public class UserController {
// 模拟数据库存储的用户
private static Map<Integer, User> userMap;
static {
userMap = new ConcurrentHashMap<>();
User user = new User(0, "admin", true, new Date());
userMap.put(user.getId(), user);
}
@ApiOperation("列表查询")
@GetMapping(value = "")
public List<User> list() {
return new ArrayList<>(userMap.values());
}
@ApiOperation(value = "获取用户详细信息", notes = "路径参数ID")
@GetMapping(value = "{id}")
public User detail(@PathVariable Integer id) {
return userMap.get(id);
}
@ApiOperation(value = "新增或更新用户信息", notes = "insert和update共用"
, response = User.class)
@PostMapping(value = "")
public User add(@RequestBody User user) {
if (user == null || user.getId() == null || !StringUtils.isEmpty(user.getName())
|| userMap.containsKey(user.getId())) {
return null;
}
user.setUpdateTime(new Date());
userMap.put(user.getId(), user);
return user;
}
@ApiOperation(value = "删除用户")
@DeleteMapping(value = "{id}")
public Boolean delete(@ApiParam(name = "用户ID", required = true, example = "100") @PathVariable Integer id) {
if (userMap.containsKey(id)) {
userMap.remove(id);
return true;
}
return false;
}
}
2.2パラメータエンティティクラスのノートが闊歩を追加します
Entityクラスはまた、フロントエンド開発者の意味、タイプ、および他の例のパラメータを決定するために注釈を追加する必要があるかもしれません。
@ApiModel(description = "用户类")
public class User {
@ApiModelProperty(value = "ID", example = "100")
private Integer id;
@ApiModelProperty(value = "姓名", example = "laolunsi")
private String name;
@ApiModelProperty(value = "是否启用", example = "1")
private Boolean enable;
@ApiModelProperty("更新时间")
private Date updateTime;
public User(Integer id, String name, Boolean enable, Date updateTime) {
this.id = id;
this.name = name;
this.enable = enable;
this.updateTime = updateTime;
}
// ... ignore getter and setter methods
}
2.3テスト
// localhostを::ポート/威張っ-ui.htmlプロジェクトを開始し、HTTP訪問
そこserver.servlet.contextパス構成場合は、アクセスアドレスはhttp:// localhostを:ポート/コンテキストパス/威張っ-ui.html
このように、インタフェースが明確になり、闊歩も郵便配達の役割に似たオンラインテストインターフェースをサポートしています。
さて、これまでのところ、我々は成功し、開発の前端と後端には、標準のお尻を持つことになりますので、こと、SpringBootプロジェクトで闊歩を統合しています!