P3] Ch 09. SwagerによるAPI公開
目次
1.スワーガーとは?
2.Swaggerの設定
1.スワーガーとは?
開発されたREST APIを容易に記録し、管理またはサードパーティのユーザーがAPIを容易に呼び出し、テストできるようにします.springfox-boot-starterをgrade依存項目に追加するのは簡単です.露出しないところで使うときは注意しましょう.
2.Swaggerの設定 Failed to start bean 'documentationPluginsBootstrapper'
エラー.依存バージョンに一致しないことを確認します.
springframwork.bootのバージョンを2.4.5に変更し、localhost:8080/swagger-ui/
に入ると傲慢さが確認できます.
このページでリクエストと応答の値を表示するのは簡単です.
@Api
コントローラとして使用されるクラスの上に作成し、tagsプロパティに渡される値をコントローラの説明とします.@Api(tags = {"API 정보를 제공하는 Controller"})
@ApiParam
このパラメータの前に作成し、パラメータ名(value)、データ型などのプロパティを設定します.それぞれのパラメータに設定して使用します.@GetMapping("/plus/{x}")
public int plus(
@ApiParam(value = "x값")
@PathVariable int x,
@ApiParam(value = "y값")
@RequestParam int y) {
return x+y;
}
@ApiImplictParamsと@ApiImplictParam
上記の設定をメソッド単位の配列に設定できます.各パラメータ変数の前に作成するのではなく、メソッド上で簡単に設定できます. @ApiImplicitParams(
{
@ApiImplicitParam(name = "x",value="x 값",required = true,dataType = "int"),
@ApiImplicitParam(name = "y",value = "y 값",required = true,dataType = "int")
})
@GetMapping("/plus/{x}")
public int plus(
@PathVariable int x,
@RequestParam int y) {
return x+y;
}
@ApiImplicitParamの配列を@ApiImplicitParamsのパラメータとして作成し、各@ApiImplicitParamには各パラメータのプロパティ設定が含まれます.
@ApiOperation
メソッドの説明の説明を設定します.@ApiOperation(value = "사용자의 이름과 나이를 echo 하는 메소드")
に示すように、value属性はこの方法の説明である.
@ApiResponse
例えば、@ApiResponse(code = 502,message = "사용자의 나이가 10살 이하일때")
のように説明を記述すると、「ユーザ年齢が10歳以下の場合」502のコードが低下することを示すことができる.
@ApiModelProperty
要求または応答オブジェクトの変数属性データを説明する説明として、オブジェクトごとに変数説明を作成できます. @ApiModelProperty(value = "사용자의 이름",example = "yoojin",required = true)
private String name;
@ApiModelProperty(value = "사용자의 나이",example = "25",required = true)
private int age;
前述したように、value(説明)およびexample(例)は、各変数について記述し、必要かどうかなどを記述することができる.
Reference
この問題について(P3] Ch 09. SwagerによるAPI公開), 我々は、より多くの情報をここで見つけました
https://velog.io/@yoojinjangjang/P3-Ch-09.-Swagger를-통한-API-공개
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
開発されたREST APIを容易に記録し、管理またはサードパーティのユーザーがAPIを容易に呼び出し、テストできるようにします.springfox-boot-starterをgrade依存項目に追加するのは簡単です.露出しないところで使うときは注意しましょう.
2.Swaggerの設定 Failed to start bean 'documentationPluginsBootstrapper'
エラー.依存バージョンに一致しないことを確認します.
springframwork.bootのバージョンを2.4.5に変更し、localhost:8080/swagger-ui/
に入ると傲慢さが確認できます.
このページでリクエストと応答の値を表示するのは簡単です.
@Api
コントローラとして使用されるクラスの上に作成し、tagsプロパティに渡される値をコントローラの説明とします.@Api(tags = {"API 정보를 제공하는 Controller"})
@ApiParam
このパラメータの前に作成し、パラメータ名(value)、データ型などのプロパティを設定します.それぞれのパラメータに設定して使用します.@GetMapping("/plus/{x}")
public int plus(
@ApiParam(value = "x값")
@PathVariable int x,
@ApiParam(value = "y값")
@RequestParam int y) {
return x+y;
}
@ApiImplictParamsと@ApiImplictParam
上記の設定をメソッド単位の配列に設定できます.各パラメータ変数の前に作成するのではなく、メソッド上で簡単に設定できます. @ApiImplicitParams(
{
@ApiImplicitParam(name = "x",value="x 값",required = true,dataType = "int"),
@ApiImplicitParam(name = "y",value = "y 값",required = true,dataType = "int")
})
@GetMapping("/plus/{x}")
public int plus(
@PathVariable int x,
@RequestParam int y) {
return x+y;
}
@ApiImplicitParamの配列を@ApiImplicitParamsのパラメータとして作成し、各@ApiImplicitParamには各パラメータのプロパティ設定が含まれます.
@ApiOperation
メソッドの説明の説明を設定します.@ApiOperation(value = "사용자의 이름과 나이를 echo 하는 메소드")
に示すように、value属性はこの方法の説明である.
@ApiResponse
例えば、@ApiResponse(code = 502,message = "사용자의 나이가 10살 이하일때")
のように説明を記述すると、「ユーザ年齢が10歳以下の場合」502のコードが低下することを示すことができる.
@ApiModelProperty
要求または応答オブジェクトの変数属性データを説明する説明として、オブジェクトごとに変数説明を作成できます. @ApiModelProperty(value = "사용자의 이름",example = "yoojin",required = true)
private String name;
@ApiModelProperty(value = "사용자의 나이",example = "25",required = true)
private int age;
前述したように、value(説明)およびexample(例)は、各変数について記述し、必要かどうかなどを記述することができる.
Reference
この問題について(P3] Ch 09. SwagerによるAPI公開), 我々は、より多くの情報をここで見つけました
https://velog.io/@yoojinjangjang/P3-Ch-09.-Swagger를-통한-API-공개
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
@GetMapping("/plus/{x}")
public int plus(
@ApiParam(value = "x값")
@PathVariable int x,
@ApiParam(value = "y값")
@RequestParam int y) {
return x+y;
}
@ApiImplicitParams(
{
@ApiImplicitParam(name = "x",value="x 값",required = true,dataType = "int"),
@ApiImplicitParam(name = "y",value = "y 값",required = true,dataType = "int")
})
@GetMapping("/plus/{x}")
public int plus(
@PathVariable int x,
@RequestParam int y) {
return x+y;
}
@ApiModelProperty(value = "사용자의 이름",example = "yoojin",required = true)
private String name;
@ApiModelProperty(value = "사용자의 나이",example = "25",required = true)
private int age;
Reference
この問題について(P3] Ch 09. SwagerによるAPI公開), 我々は、より多くの情報をここで見つけました https://velog.io/@yoojinjangjang/P3-Ch-09.-Swagger를-통한-API-공개テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol