java - 错误 Swagger - 无法解析参考
问题描述
在大摇大摆的情况下,我在 POST 休息时遇到这样的问题
Errors
Resolver error at paths./api/v1/getEntity/{integrationCode}.post.responses.200.schema.items.$ref
Could not resolve reference because of: Could not resolve pointer: /definitions/Map«string,object» does not exist in document
休息控制器:
@RestController
@RequestMapping("api/v1/")
public class RetrieveController {
@PostMapping(value = "getEntity/{integrationCode}", produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<List<Map<String, Object>>> getList(@PathVariable String integrationCode, @RequestBody RetrieveParam retrieveParam) throws JsonProcessingException {
List<Map<String, Object>> integration = ...
return ResponseEntity.ok(integration);
输入参数 json 对象看起来像
{
"fields": [
"string"
],
"filter": [
{
"comparison": "EQ",
"fieldName": "string",
"fieldValue": {},
"operation": "AND"
}
],
"pagination": {
"pageNumber": 0,
"pageSize": 0
},
"path": "string",
"sorts": [
{
"fieldName": "string",
"type": "ASC"
}
]
}
添加 SwaggerConfig 规则后(其余返回响应实体,如List<Map<String, Object>>
)
.alternateTypeRules(
AlternateTypeRules.newRule(
typeResolver.resolve(List.class, WildcardType.class),
typeResolver.resolve(Map.class, String.class, Object.class)
)
)
json 对象看起来像
{
"fields": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
},
"filters": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
},
"pagination": {
"pageNumber": 0,
"pageSize": 0
},
"path": "string",
"sorts": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
}
}
更改 SwaggerConfig 规则后关于
typeResolver.resolve(List.class, Map.class),
typeResolver.resolve(Map.class, String.class, Object.class), Ordered.HIGHEST_PRECEDENCE
错误并没有消失
在下一个配置规则之后:
typeResolver.resolve(List.class, WildcardType.class),
typeResolver.resolve(Map.class,
typeResolver.resolve(String.class, Object.class))
部署异常:
Factory method 'api' threw exception; nested exception is java.lang.IllegalArgumentException: Can not create TypeBinding for class java.lang.String with 1 type parameter: class expects 0
请帮助我:
如何配置规则招摇
List<Map<String, Object>>
?为什么
WildcardType
在配置中使用后我的 json 看起来很奇怪?
解决方案
推荐阅读
- c# - 基于配置文件的具有不同参数的类的多个实例
- aws-lambda - MissingRequiredParameter:参数中缺少必需的键“TableName”:无服务器框架
- java - 全局目录活动目录可写怎么办
- http - 禁用身份验证时如何为 Oracle HTTP 会话设置 remote_user
- jquery - 在 h2 部分之后使用特定单词捕获 h2 部分
- api - 赛普拉斯 - 通过请求登录
- php - Laravel 流明版本控制
- java - 使用工厂模式的动态依赖注入 - Spring
- android - 如何在批处理文件中使用 ADB 打开 Windows 文件资源管理器窗口
- c# - 如何使用 Json.Net 通过自定义序列化修补现有对象?