java - 如何在 swagger yaml 中为 Swagger dode 生成提供通用返回类型?
问题描述
如果通过 swaggercodegen 生成的相同休息方法失败,我必须返回 GetPaymentRepsonse 和 AuthenticationException。
我有一个解决方案
default ResponseEntity<?> getPayment(String id,
String agent,
String contact,
String token) {
return new ResponseEntity<PaymentResponse>(HttpStatus.OK);
}
@Override public ResponseEntity<?> getPayment(String id, String agent, String contact, String token) {
try {
........
..........
return paymentReposne;
} else {
throw new AuthenticationException(Enum.SomeException);
}
} catch (AuthenticationException | IOException | TokenServiceException e) {
return UtilClass.someCustomAuthenticationException(e);
}
}
招摇设计
/v2.0/.../.../....:
get:
operationId: getPayment
tags:
- something
description:
xxx xxx xxx xxxx
parameters:
- $ref: "#/parameters/token"
- $ref: "#/parameters/id"
- $ref: "#/parameters/agent"
- $ref: "#/parameters/contact"
responses:
'200':
description: 'Successful response'
schema:
type: object --->Here i want to give Generic type or ? to support my above code on swagger code generation
'400':
description: 'Bad request parameters'
解决方案
您可以执行以下操作:-
get:
operationId: getPayment
tags:
- something
description:
xxx xxx xxx xxxx
parameters:
- $ref: "#/parameters/token"
- $ref: "#/parameters/id"
- $ref: "#/parameters/agent"
- $ref: "#/parameters/contact"
responses:
'200':
description: Fetched Successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntity'
'400':
$ref: '#/components/responses/AuthenticationException'
components:
schemas:
ErrorResponse:
type: object
properties:
statusCode:
type: integer
example: 400
message:
type: string
responses:
AuthenticationException:
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
推荐阅读
- javascript - 如何将宏应用于谷歌电子表格的文件夹
- javascript - Add annotations to D3 line graph using D3plus
- vue.js - Vue Component Navigation Fails After $router.replace
- css - How to make active link underlined (CSS)?
- sharepoint - People Picker in Microsoft Project Online
- javascript - json-schema 中有没有办法验证匹配正则表达式的对象键?
- python - 为什么我通过 pip 安装了模块后仍收到“没有名为 scipy 的模块”错误?
- api - 有没有办法从 Medium 帖子中获取语言?
- flutter - Flutter 音频文件的完整路径
- ffmpeg - 使用 ffmpeg 和 force_original_aspect_ratio 从视频创建 PNG - 生成的 PNG 被压缩为 sample_aspect_ratio(而不是 display_aspect_ratio)