🙌

Springdoc-openapiでレスポンスに同一HTTPステータスで複数のexampleを表示する

2023/03/18に公開

Springdoc-openapiでレスポンスの内容を定義する際に、同一のHTTPステータスの中で値を一部変えてexampleを表示したいといったことに対応するための方法です。

コード

コードです。

@GetMapping
@ApiResponses(value = {
		@ApiResponse(responseCode = "400", content = @Content(examples = {
				@ExampleObject(name = "パラメータ不正", value = "{\"message\": \"IDには数値を入力してください\"}"),
				@ExampleObject(name = "対象ユーザーなし", value = "{\"message\": \"指定したIDのユーザーは存在しません\"}"),
		}))
})
public User index(@RequestParam("id") String id) {
    return null;
}

@Contentのexamplesに@ExampleObjectを指定することでexampleを設定することが可能ですが、ここでnameをそれぞれ一意となるようにセットしてあげることでexampleを複数表示することが可能です。

表示される例

このように表示されます。

example1
example2

Discussion