import com.fasterxml.jackson.databind.JsonNode;
@ApiModel(
description = "Data Class to hold new details"
)
public class NewModel {
@ApiModelProperty(
notes = "Value in JSON key:value format. Can be any key:value pair",
example = "{ds:2017:08:05,hh:11}"
)
private final JsonNode value;
(... getters and setters ...)
}
除此之外,我还有一些rest控制器,它们在请求体中获得一个JSON。我使用这个模型从请求体获取JSOn。
"NewModel": {
"type": "object",
"properties": {
"value": {
"example": "{nds:2017:08:05,hh:11}",
"description": "Value of the stamp in JSON key:value format",
"$ref": "#/definitions/JsonNode"
}
},
"description": "Data Class to hold details"
}
生成的引用JsonNode定义是
"definitions": {
"JsonNode": {
"type": "object",
"properties": {
"array": {
"type": "boolean"
},
"bigDecimal": {
"type": "boolean"
},
"bigInteger": {
"type": "boolean"
},
"binary": {
"type": "boolean"
},
"boolean": {
"type": "boolean"
},
"containerNode": {
"type": "boolean"
},
"double": {
"type": "boolean"
},
"float": {
"type": "boolean"
},
"floatingPointNumber": {
"type": "boolean"
},
"int": {
"type": "boolean"
},
"integralNumber": {
"type": "boolean"
},
"long": {
"type": "boolean"
},
"missingNode": {
"type": "boolean"
},
"nodeType": {
"type": "string",
"enum": [
"ARRAY",
"BINARY",
"BOOLEAN",
"MISSING",
"NULL",
"NUMBER",
"OBJECT",
"POJO",
"STRING"
]
},
"null": {
"type": "boolean"
},
"number": {
"type": "boolean"
},
"object": {
"type": "boolean"
},
"pojo": {
"type": "boolean"
},
"short": {
"type": "boolean"
},
"textual": {
"type": "boolean"
},
"valueNode": {
"type": "boolean"
}
}
}
现在,当我用这个API定义生成一个客户端库时,客户端允许的JsonNode对象只有布尔变量,我无法为它分配实际的JSON字符串,因此无法将JSON值传递给连接服务器(我从中生成了API定义)
谢谢(并为这篇冗长的帖子道歉)
例如,您可以执行以下操作:
@Bean
public AlternateTypeRuleConvention typeConvention(final TypeResolver resolver) {
return new AlternateTypeRuleConvention() {
@Override
public int getOrder() {
return Ordered.HIGHEST_PRECEDENCE;
}
@Override
public List<AlternateTypeRule> rules() {
return Collections.singletonList(
AlternateTypeRules.newRule(resolver.resolve(JsonNode.class), resolver.resolve(jsonNodeApi()))
);
}
};
}
private Type jsonNodeApi() {
return new AlternateTypeBuilder()
.fullyQualifiedClassName(
String.format("%s.generated.%s",
JsonNode.class.getPackage().getName(),
JsonNode.class.getSimpleName()))
.build();
}
< code > alternateypebuilder 还允许您在必要时指定自定义字段。
ApiModelProperty中的一个属性dataType=“java.util.Map”应该会有所帮助
public class NewModel {
@ApiModelProperty(
example = "{ds:2017:08:05,hh:11}",
dataType = "java.util.Map"
)
private final JsonNode value;
我们如何排除模型中“groovy”类的元类属性作为响应?我有一个Jax-Rs资源,它返回一个带swagger@ApiModel注释的groovy对象。我在swagger ui中看到了太多时髦的特定属性。如何从序列化中排除它? 它似乎在使用Jackson进行pogo json序列化?如何注释我的groovy类,将元类属性排除在json序列化字符串中?我试着使用JsonIgnoreProperties
问题内容: 在模型类中使用JavaFX bean属性是否正确? 我想知道在模型类中使用属性是否能够将它们与视图组件轻松绑定是否是一种好习惯。我不担心将来这些库的可用性,因为我的程序将在JRE8或更高版本上运行,但是在模型类中使用JavaFX库的性质使我持怀疑态度,并且我担心当前和将来的不兼容性,尤其是因为我想使用Hibernate来保留这些属性。 注意:我使用纯JavaFX环境,并且我的应用程
您好,我正在建立一个动物园微服务,包括动物、员工、客户和价格表。我的动物微服务可以工作,但在我的员工微服务中,我遇到了一个错误,即没有为类型“EmployeeModel”找到属性“name”。在问这个问题之前,我已经在网上搜索了几个小时,还有一些类似的问题。我在模型中没有“名字”employee_name,我只是感到困惑,不知道如何修复它。任何指导/建议/信息将不胜感激:)第一次发布,所以我希望我
我正在使用Swashback为webapi2项目生成swagger documentation\UI。我们的模型与一些遗留接口共享,因此我想忽略模型上的几个属性。我不能使用JsonIgnore属性,因为遗留接口还需要序列化为JSON,所以我不想全局忽略属性,只是在Swashback配置中。 我在这里找到了这样做的方法: https://github.com/domaindrivendev/Swas
我已经定义了一个枚举类型,详细描述了用于给灰度图像着色的各种调色板,为此我使用了描述属性和TypeConver,以便使用我绑定到该类型的组合框、列表框等枚举值的描述字符串。枚举看起来像这样: EnumDescriptionTypeConverter如下所示: 使用它,我可以绑定enum类型,比如组合框的ItemsSource属性,并让描述字符串自动用作组合框元素,使用另一个自定义标记扩展类,我认为