我正在开发一个相当大的API(390多个函数),我正在尝试将文档团队需要的所有信息汇集在一起,以便为项目创建文档。
我决定使用JSON Hyperschema来表示这一点。
我创建了一个注释处理器,用于从我的代码中查找所有javax.ws.rs.Path
注释,并获取Javadoc,http方法(来自注释)和其他参数信息,但我遇到了问题。
超级架构建议,并且我的项目规范要求,通过API发送的对象将作为架构包含在超级架构中。通常我会用杰克逊来完成这个。但是,由于我在一个不在主API项目中的注释处理器中,我不能使用类引用(例如User.class
,其中user是我的API项目中的对象而不是我的处理器中)而不会产生错误。 (这解释为here)。
我的问题是,围绕此限制的最佳方法是什么?我已经提出了一种方法,如下所述,但我希望这可以插入任何其他服务(格式相同)来记录它们。
作为解决方案,我曾想过在编译时和运行时间之间打破我的生成器。在编译时,我将使用占位符生成JSON超图表以引用对象模式。它还会生成一个包含所有对象全名的资源文件。
在运行时,我计划为返回的对象生成模式,然后将链接插入到JSON中。
恕我直言这个解决方案看起来并不优雅"。有没有人对其他方法有所了解?
答案 0 :(得分:0)
我建议以下项目: -
jsonschema-hypermedia-support确认enter link description here
OR 使用Spring HATEOAS 另见 this stackoveflow thread about Restful API