您好,登錄后才能下訂單哦!
怎么在springboot中利用openfeign讀取JSON文件中的數(shù)據(jù)?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
JSON幫助類,主要使用了objectMapper這個對象
/** * 將json轉(zhuǎn)換為對象. * * @param path 文件路徑 */ public <T> T fromJson(String path, Class<T> cls) { try { return objectMapper.readValue(this.fromResource(path, Charsets.UTF_8), cls); } catch (Exception e) { throw new IllegalStateException("讀取json失敗:" + path, e); } } /** * 將json數(shù)組轉(zhuǎn)換為對象列表. * * @param path 文件路徑 */ public <T> List<T> listFromJson(String path, TypeReference typeReference) { try { return objectMapper.readValue(fromResource(path, Charsets.UTF_8), typeReference); } catch (Exception e) { throw new IllegalStateException("讀取json失敗:" + path, e); } }
在Mock類型中,可以使用這個方法讀JSON文件的內(nèi)容
@Configuration @Profile("integTest") public class ServiceClientMock { @Bean public ServiceClient registerServiceClient() { AccountClient client = mock(AccountClient.class); when(client.del( anyString(), anyString(), anyString(), anyMap())).thenReturn(fromJson("order/orders.json", Map.class)); } }
上面代碼主要在模擬了ServiceClient對象里的del方法,有三個字符型輸入?yún)?shù),返回值從JSON文件讀取,在單元測試里,直接注入的是ServiceClientMock對象,我們
可以從@Profile注解里看到,它運行在integTest環(huán)境中,在生產(chǎn)環(huán)境里,將使用真正的服務。
關(guān)于怎么在springboot中利用openfeign讀取JSON文件中的數(shù)據(jù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。