我们正在尝试使用Swagger 2.0。基本上,除了忽略@JsonIdentityInfo和@JsonIdentityReference注释之外,它很棒。
public class Source {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JsonIdentityReference(alwaysAsId=true)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "name")
@JsonProperty("sourceDefinitionName")
private SourceDefinition sourceDefinition;
... getters and setters
}
导致Swagger架构输出:
{
"id": 0,
"sourceDefinitionName": {
"configuration": {},
"driver": "string",
"id": "string",
"name": "string",
"sourceType": "QUERY",
"title": "string"
}
}
你可以看到它确实读取了@JsonProperty注释重命名" sourceDefinition" to" sourceDefinitionName"但该值应该只是一个字符串。
有没有人对这种集成的这类问题有任何见解?