溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在springboot中利用openfeign讀取JSON文件中的數(shù)據(jù)

發(fā)布時間:2020-12-30 14:53:50 來源:億速云 閱讀:368 作者:Leah 欄目:編程語言

怎么在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)知識。

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI