【发布时间】:2020-06-22 09:20:13
【问题描述】:
我正在创建一个 API 来获取可以处理动态路径上的路径的文件信息:
@GetMapping("/api/file/info/**")
用这个方法检索这个动态部分
public String getDynamicPartFromRequest(HttpServletRequest request) {
return (new AntPathMatcher()).extractPathWithinPattern(
(String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE),
(String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE));
}
这允许检索这些示例路径:
- /api/file/info/image.jpg --> image.jpg
- /api/file/info/sub1/sub2/sub3/image.jpg --> sub1/sub2/sub3/image.jpg
所以从代码的角度来看,按预期完美运行!
问题是如何在 Swagger UI 中测试/使用这个,因为“**”部分无法填写,并且请求总是发送到
Request URL
https://localhost/api/file/info/**
有没有办法告诉 Swagger/OpenAPI 为 URL 的“**”部分提供输入字段?
【问题讨论】:
标签: java spring rest swagger openapi