spring cloud統合Swagger 2によるRESTfulサービス構築APIの詳細解
前言
前のブログでは、Eurekaにサービスを登録しました。EurekaのUIインターフェースから、Eureka Serverに登録されているサービスを見ましたが、現在のサービスが提供しているRESTfulインターフェースの方法を確認したいなら、取得できません。従来の方法はサービスのインターフェース文書を整理して開発者同士で交流することです。このような場合、多くの場合、ドキュメントとコードの不一致を引き起こすことがあります。例えばコードが変更されましたが、インターフェースの文書は変更されていません。Swagger 2は完璧な解決策を提供してくれました。
一、Swagger 2依存のjarバッグを導入する
三、API文書の情報を改善する
四、戻りタイプ情報を完備する
1、ブラウザに入力:http://localhost:7622/swagger-ui.
2、結果は以下の通りです
六、APIドキュメントのアクセスとテスト
SwaggerはAPIインターフェースの表示機能を提供するほか、デバッグテスト機能も提供しています。
テストの結果は以下の通りです。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
前のブログでは、Eurekaにサービスを登録しました。EurekaのUIインターフェースから、Eureka Serverに登録されているサービスを見ましたが、現在のサービスが提供しているRESTfulインターフェースの方法を確認したいなら、取得できません。従来の方法はサービスのインターフェース文書を整理して開発者同士で交流することです。このような場合、多くの場合、ドキュメントとコードの不一致を引き起こすことがあります。例えばコードが変更されましたが、インターフェースの文書は変更されていません。Swagger 2は完璧な解決策を提供してくれました。
一、Swagger 2依存のjarバッグを導入する
<!-- swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
二、Swagger 2の配置を初期化する
@Configuration
@EnableSwagger2 // Swagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {// API
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.chhliu.jpa"))// Swagger API,@ApiIgnore
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {// API , Swagger UI
return new ApiInfoBuilder()
.title("Spring Boot Swagger2 RESTful APIs")// API
.description("rdcloud-jpa RESTful APIs")// API
.contact("chhliu@")//
.version("1.0")//
.build();
}
}
注:この設定クラスは、Appliationの同じクラスのディレクトリで作成し、プロジェクトが開始されると、その設定クラスを初期化する必要があります。三、API文書の情報を改善する
public interface SonarControllerI {
@ApiOperation(value=" Sonar Url ", notes=" id Sonar Url ")//
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "SonarUrl ID", required = true, dataType = "Long", paramType="path")
})// , paramType , path, UI ,
@GetMapping("/get/{id}")
SonarUrl get(@PathVariable Long id);
@ApiOperation(value=" Sonar Url ")
@GetMapping("/get/all")
List<SonarUrl> getAll();
}
注:paramTypeはパラメータの種類を表します。オプションの値は「path」、「body」、「query」、「header」、「form」です。四、戻りタイプ情報を完備する
@Entity(name = "SONAR_URL")
public class SonarUrl implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value=" ", hidden=false, notes=" , ", required=true, dataType="Long")// , hidden=true , api
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ApiModelProperty(value="URL ")
@Column(name="URL")
private String url;
@ApiModelProperty(value=" ")
@Column(name="TEAM")
private String team;
@ApiModelProperty(value=" ")
@Column(name="DEPARTMENT")
private String department;
…… getter,setter ……
}
五、アプリケーションの起動1、ブラウザに入力:http://localhost:7622/swagger-ui.
2、結果は以下の通りです
六、APIドキュメントのアクセスとテスト
SwaggerはAPIインターフェースの表示機能を提供するほか、デバッグテスト機能も提供しています。
テストの結果は以下の通りです。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。