我在Jackson 2.17上使用了一些RESTful API。 他们都是JSON风格,工作得很好。自动生成RESTful API示例JSON
但我想为开发人员生成一个好的RESTful Docs with JSON样本。
所以我尝试了一些Maven插件,
首先我想ServiceDocGen Maven Plugin,
它直接产生使用JSON样本HTML文档。 但它不知道杰克逊注释像@JsonProperty,@JsonIgnore, 因此,JSON示例是不准确的。
然后我试着swagger-jaxrs-maven,它知道一些像@JsonProperty这样的Jackson注解,但仍然无法处理@JsonIgnore。它也是数据模式的描述,而不是样本。如果API直接返回一个JSON字符串,它将会失败。
我也试过jaxrs-raml-maven-plugin,它只能用JAXB生成不准确的样本。
基本上我的要求很简单:
生成JAX-RS注释端点URL和参数说明,每次我试图插件做的非常好。
在有效负载上生成示例JSON,我不关心JSON示例数据逻辑是否正确,我关心数据结构是否准确。因此,在特定类型上设置固定数据是可以的,就像ServiceDocGen总是在字符串上设置“text”一样。
我相信生成JSON样本并不那么难:首先要通过Java对象树,填入随机类型的安全数据。然后调用Jackson解串器来生成json数据。
但直到现在我找不到任何maven插件正在做好这项工作。
有什么建议吗?
感谢您的回答。但是大多数基于Java的RESTful API都是从Java对象生成JSON。所以我将在将来将swagger.json与Java对象对齐时遇到很大的麻烦。 – Justin
@Justin当你说大多数Java API从Java对象生成他们的json文档而不是其他方式时,我不确定是否同意。你指的是哪些API或用例研究? – cosbor11
我使用杰克逊,它将Java对象反序列化为Json对象 – Justin