我想用Enunciate自動生成我的REST API的文檔。是否可以闡明將Java接口作爲數據類型?
的JAX-RS註釋的代碼是這樣的:
@POST
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
@Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
public IAuthentication login(CLogin aLogin) throws XException {
return this.pManager.authenticate(aLogin);
}
IAuthentication
是一個接口,它必須保持一個。這是因爲我使用了注射,並且我無法預測方法authenticate()
返回的確切類型。 CLogin
然而,它是一個類,並且它是可以的,因爲它是方法authenticate()
接受的類型的一種特殊化。
現在我的問題是,只有請求主體是在發音生成的文檔中的文檔,而不是響應主體。字正腔圓,似乎在尋找潛在的數據類型時,以下消息忽略Java接口:
[DEBUG] [闡明] com.example.IAuthentication不是一個潛在的傑克遜類型,因爲它不是一個類或枚舉。
我的接口使用JAXB註釋進行註釋。它們可以從源路徑訪問。
@XmlRootElement
public interface IAuthentication {
/* methods signatures */
}
有沒有辦法告訴闡明Java接口是數據類型並且必須考慮的。
附錄
這種方法的JSON輸出的一個真實的例子:
{
"token": "imec51lpb72lgsdrb0ftvfomt3",
"auth_key": ""
}
你可以嘗試使用Jaxb註釋來註釋實現接口的類嗎? – karelss
我做到了。類'@XmlRootElement 公共類CAuthentication實現IAuthentication'已經存在。它顯示在數據類型列表中。但是,方法POST的Response Body仍未記錄。 –
您使用的是jaxb的哪個實現,也許傑克遜? – karelss