目前,我可以通过向/ {resource} / schema发出GET请求来获取资源的JSON模式(使用accept:application / schema + json)。
看起来像这样:
{
"name" : "{java_package}.{resource_class_name}",
"description" : "rest.description.{resource_class_name}",
"links" : [ ],
"properties" : {
"{property name}" : {
"type" : "{property_type}",
"description" : "rest.description.{resource_class_name}.{property_name}",
"required" : false
}
}
}
我无法弄清楚的是如何更改名称,描述或是否需要属性。我希望看起来像这样:
{
"name" : "{resource_name}",
"description" : "{custom_description}",
"links" : [ ],
"properties" : {
"{property_name}" : {
"type" : "{property_type}",
"description" : "{custom_property_description}",
"required" : {true or false}
}
}
}
我尝试以这种方式注释实体类:
@JsonPropertyDescription(value = "{custom_property_description}")
@JsonProperty(required = {true or false})
private {property_type} {property_name};
但最终结果是一样的。有谁知道如何自定义SDR返回的架构?
答案 0 :(得分:0)
使用SDR 2.2.X使用org.springframework.data.rest.core.annotation.Description
为您的域类和字段添加注释,以查看" description "财产填充。 " 名称"属性已连接到您的域名类和" 必需"属性设置为" false"。
<强> 实施例 强>
package com.test;
@Description("Application")
public class App {
@Description("Application Name")
private String name;
}
会产生
{
"name" : "com.test.App",
"description" : "Application",
"links" : [ ],
"properties" : {
"name" : {
"type" : "string",
"description" : "Application Name",
"required" : false
}
}
}
话虽如此,ticket已向JSON Schema进行架构确认,但尚未实施。