我在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