我有一個很簡單的問題:)如何使用swagger codegen爲動態feign basePath生成URI參數?
根據假裝文件,它們在改變佯客戶對象的基本路徑動態地通過傳遞URI參數支撐槽API函數like so:
很好的例子:
interface MyClient {
@RequestLine("GET /internal-service")
String internalService(URI baseUrl);
}
事情是我使用的招搖,誰從YAML文件並添加註釋@Param所有函數的參數,這是不好的,我產生我的API。
糟糕的例子:
interface MyClient {
@RequestLine("GET {baseUrl}/internal-service")
String internalService(@Param("baseUrl") String host);
}
有沒有一種方法,使招搖發生器產生一個URI PARAM的API,而@Param註釋?
期望的結果實施例:
interface MyClient {
@RequestLine("POST /internal-service")
String internalService(URI baseUrl, @Param("someParam") String someParam);
}
爲了得到這個,你將不得不修改模板和生成器,你可以在github上打開一個問題作爲feign生成器的增強或者建議,因爲這是該語言的一部分。首先,您必須能夠區分yaml中的URI參數,然後才能在生成器中對其進行解析,並在模板中正確顯示併爲此生成代碼。 – moondaisy
非常感謝@moondaisy!對,我需要更改模板,但不一定是生成器。我可以使用配置讓swagger使用我的新模板。無論我會建議這個增強,如你所建議的那樣鼓吹:) – dorony
雖然有效,但它會在所有接口的所有方法中放入URI參數,儘管你可能想要一些沒有它的方法,這就是爲什麼我建議修改發電機。很高興你找到了解決方案! – moondaisy