且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Java 后端实现Mock功能返回JSON文件

更新时间:2022-08-21 20:30:03

前后端分离的项目中,类似行政区选择,前端控件一般获取全部数据进行渲染,如果这些数据每次都查询数据库开销会很大。

其实方法有很多种,1直接放前端项目中 2使用nginx代理 3Java渲染JSON文件

相对来说第三种方法对我们后端来说容易维护,主要方法如下:

/**
     * 读取json格式文件
     * @param jsonSrc
     * @return
     */
    private String readJson(String jsonSrc) {
        String json = "";
        try {
            //File jsonFile = ResourceUtils.getFile(jsonSrc);
            //json = FileUtils.re.readFileToString(jsonFile);
            //换个写法,解决springboot读取jar包中文件的问题
            InputStream stream = getClass().getClassLoader().getResourceAsStream(jsonSrc.replace("classpath:", ""));
            json = IOUtils.toString(stream);
        } catch (IOException e) {
            log.error(e.getMessage(),e);
        }
        return json;
    }

然后Controller直接调用readJson方法得到JSON文件的内容渲染出去

    /**
     * 省市县
     */
    @GetMapping(value = "/getArea")
    public String area() {
        return readJson("classpath:com/mxthd/demo/mock/json/area.json");
    }