怎么在springboot中利用openfeign读取JSON文件中的数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
专注于为中小企业提供做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业合肥免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
JSON帮助类,主要使用了objectMapper这个对象
/** * 将json转换为对象. * * @param path 文件路径 */ publicT fromJson(String path, Class cls) { try { return objectMapper.readValue(this.fromResource(path, Charsets.UTF_8), cls); } catch (Exception e) { throw new IllegalStateException("读取json失败:" + path, e); } } /** * 将json数组转换为对象列表. * * @param path 文件路径 */ public List 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文件的内容
@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方法,有三个字符型输入参数,返回值从JSON文件读取,在单元测试里,直接注入的是ServiceClientMock对象,我们
可以从@Profile注解里看到,它运行在integTest环境中,在生产环境里,将使用真正的服务。
关于怎么在springboot中利用openfeign读取JSON文件中的数据问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。