【发布时间】:2021-08-13 08:49:23
【问题描述】:
我想为要使用 Swagger 记录的请求参数定义正则表达式。实际上我想定义文件名的格式。我可以在 Spring(Boot)中使用 Annotations 吗?
这里:
@Bean
default OpenAPI customOpenApi() {
return new OpenAPI()
.info(new Info()
.title("")
.version("1.0")
.description(""))
.components(new Components()
.addParameters(
"api-version", new io.swagger.v3.oas.models.parameters.Parameter()
.name("api-version")
.required(Boolean.TRUE)
.allowEmptyValue(Boolean.FALSE)
.description("")
.in("header")
.schema(new io.swagger.v3.oas.models.media.Schema<String>().type("string").example("1.0.0"))
)
.addParameters(
"file-name", new io.swagger.v3.oas.models.parameters.Parameter()
.name("file-name")
.required(Boolean.TRUE)
.allowEmptyValue(Boolean.TRUE)
.description("Filename of the file to be imported in the following format: " +
"<ul>" +
" <li><b>yyyyMMdd_DocumentType_senderID_rexeiverID_xxx_version.xml</b></li>" +
"</ul>")
.in("header")
.schema(new io.swagger.v3.oas.models.media.Schema<Integer>().type("string").example("20210228_A14_123456789_987654321_xxx_123.xml"))
)
);
}
或这里:
ResponseEntity<ResponseBody> postData(
@RequestHeader HttpHeaders headers,
@RequestAttribute(name = REQUST_ID, required = false) String requestId,
@Parameter(name = API_VERSION_HEADER_PARAMETER) @RequestHeader(name = API_VERSION_HEADER_PARAMETER) String apiVersion,
@Parameter(name = FILENAME_HEADER_PARAMETER) @RequestHeader(name = FILENAME_HEADER_PARAMETER) String fileName,
@Validated @RequestBody RestRequestBody body
);
【问题讨论】:
-
Schema具有pattern属性。
标签: regex spring-boot swagger openapi