我们如何排除模型中“groovy”类的元类属性作为响应?我有一个Jax-Rs资源,它返回一个带swagger@ApiModel注释的groovy对象。我在swagger ui中看到了太多时髦的特定属性。如何从序列化中排除它?
@EqualsAndHashCode
@Document(collection = 'MongoCollection')
@CompileStatic
@ToString
@XmlRootElement
@XmlAccessorType(value = XmlAccessType.FIELD)
@ApiModel(value = "Represents a document from mongo collection")
class Foo {
..
..
}
它似乎在使用Jackson进行pogo json序列化?如何注释我的groovy类,将元类属性排除在json序列化字符串中?我试着使用JsonIgnoreProperties注释,但没用。
@JsonIgnoreProperties(ignoreUnknown = true, value = ["MetaClass","MetaMethod"])
将Swagger升级为
据报道,这可能是一个招摇的错误https://github.com/wordnik/swagger-core/issues/519.我从groovy切换到java类,以便从现在开始处理模型对象。我会在有时间的时候为这个问题做一个测试。
如果使用springfox,请参阅springfox问题752,找到了解决此问题的方法:
docket.ignoredParameterTypes(groovy.lang.MetaClass.class)
一个代码示例是:
@Configuration
public class SpringFoxConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.ignoredParameterTypes(groovy.lang.MetaClass.class)
.select()
.apis(RequestHandlerSelectors.any())
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.paths(PathSelectors.any())
.build();
}
}
我想从类型中排除一个单独的属性。我该怎么做呢? 比如我有 我想排除属性 以获得
除此之外,我还有一些rest控制器,它们在请求体中获得一个JSON。我使用这个模型从请求体获取JSOn。 生成的引用JsonNode定义是 现在,当我用这个API定义生成一个客户端库时,客户端允许的JsonNode对象只有布尔变量,我无法为它分配实际的JSON字符串,因此无法将JSON值传递给连接服务器(我从中生成了API定义) 谢谢(并为这篇冗长的帖子道歉)
是否有任何方法可以在模型部分定义HashMap或泛型对象类型?我有一个返回产品的REST服务,这些产品可以有不同的选择。options属性基本上是一个HashMap,其中id是选项名,其值是选项值。
问题内容: 我写了以下函数: 我想向函数添加类型注释: 但是,我想明确定义返回的字典内的值 不能 为None。 有没有办法说“类型,除”或“除”以外的所有可能值? 问题答案: 假设您愿意在调用函数时修复键和值的类型,则可以使用泛型来使其明确。这还可能会允许的情况下是,但它使意图很清楚。请注意,由于存在差异问题,因此必须使用。但是,无论如何这是优选的。 使用此定义,可以正确地将可选类型转换为非可选类
我已经试过了,但是Swagger UI不能渲染它,所以我猜测它是错误的:
嗨,我正在使用Core Swagger从Groovy类生成Swagger YML文件,但正在努力查看Groovy中的哪种类型会生成数组数据类型:[https://swagger.io/docs/specification/data-models/data-types/#array][1] 我的Groovy类如下: 但当我格雷德尔制造出一个大摇大摆的样子。yml没有数组类型: