SpringBoot如何读取mock数据(高效调试接口)
写在前面:故不积跬步,无以致千里,不积小流,无以成江海。
个人感悟:
最近需求上偏向数仓需求较多,大结构型的json或者字符串 比较多,为了节省时间,以往从数据库 或者三方SDK获取数据的地方,直接读取本地mock数据进行调试。真的很高效,无非启动项目,单元测试 或者 主函数就可以自测。 记录一下这次的经验分享给大家,留给自己备用
SpringBoot中读取resource资源文件MOCK数据
调试接口
在 Spring Boot 项目中,通常会将静态资源或配置文件放在 src/main/resources
目录下。以下是如何读取存放在 resources
目录中的文本文件的步骤和代码示例:
文件路径
将文件放在 src/main/resources
目录下,例如文件名为 mock_data.txt
。
代码示例
可以通过 Spring 的 ClassPathResource
或标准的 ClassLoader
来读取 resources
中的文件内容。
方法 1:使用 ClassPathResource
import org.springframework.core.io.ClassPathResource; import java.io.BufferedReader; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; public class FileUtil { public static String readFileFromResources(String fileName) { StringBuilder content = new StringBuilder(); try { // 获取文件资源 ClassPathResource resource = new ClassPathResource(fileName); try (BufferedReader reader = new BufferedReader( new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8))) { String line; while ((line = reader.readLine()) != null) { content.append(line).append("\n"); } } } catch (Exception e) { e.printStackTrace(); } return content.toString(); } }
方法 2:使用 ClassLoader
import java.io.BufferedReader; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; public class FileUtil { public static String readFileFromResources(String fileName) { StringBuilder content = new StringBuilder(); try { // 获取当前线程的类加载器 ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); try (BufferedReader reader = new BufferedReader( new InputStreamReader(classLoader.getResourceAsStream(fileName), StandardCharsets.UTF_8))) { String line; while ((line = reader.readLine()) != null) { content.append(line).append("\n"); } } } catch (Exception e) { e.printStackTrace(); } return content.toString(); } }
示例用法
public class Main { public static void main(String[] args) { String content = FileUtil.readFileFromResources("mock_data.txt"); System.out.println(content); } }
注意事项
文件路径:
- 如果文件位于
resources
的子目录下,例如data/mock_data.txt
,那么fileName
应设置为"data/mock_data.txt"
。
文件存在性:
- 确保
mock_data.txt
已经正确放置在src/main/resources
或其子目录下。 - 如果文件不存在或路径错误,会抛出
FileNotFoundException
。
编码问题:
- 读取时应指定文件的字符集(如
UTF-8
),以避免乱码问题。
通过这些方法,你可以轻松读取并引用 Spring Boot 项目中 resources
目录下的文件内容。
到此这篇关于SpringBoot中读取mock数据(高效调试接口)的文章就介绍到这了,更多相关SpringBoot 读取mock数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决spring-integration-mqtt频繁报Lost connection错误问题
这篇文章主要介绍了解决spring-integration-mqtt频繁报Lost connection错误问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-03-03Java中@Autowired与@Resource注解的区别详解
这篇文章主要介绍了Java中@Autowired与@Resource注解的区别详解,@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了,@Resource有两个属性是比较重要的,需要的朋友可以参考下2023-11-11关于mybatis-plus-generator的简单使用示例详解
在springboot项目中集成mybatis-plus是很方便开发的,最近看了一下plus的文档,简单用一下它的代码生成器,接下来通过实例代码讲解关于mybatis-plus-generator的简单使用,感兴趣的朋友跟随小编一起看看吧2024-03-03
最新评论