• springmvc添加mock json的支持


    在springmvc中 添加对服务器classPath下的json文件解析之后返回的mock功能:

    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.URL;
    import java.net.URLConnection;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.fasterxml.jackson.databind.JsonNode;
    import com.fasterxml.jackson.databind.ObjectMapper;
    
    
    @RestController
    @RequestMapping("/mock")
    public class MockController {
    
        @RequestMapping(value = "/{module}/{action}", method = RequestMethod.POST)
        public JsonNode mockContent(@PathVariable String module, @PathVariable String action, HttpServletRequest request,
                HttpServletResponse response) {
            JsonNode actualObj = null;
            InputStream fis = null;
            try {
                ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
                URL resURL = ctxLoader.getResource(action + ".json");
                URLConnection resConn = resURL.openConnection();
                resConn.setUseCaches(false);
                fis = resConn.getInputStream();
                StringBuilder builder = new StringBuilder();
                int ch;
                while ((ch = fis.read()) != -1) {
                    builder.append((char) ch);
                }
                ObjectMapper mapper = new ObjectMapper();
                actualObj = mapper.readTree(builder.toString());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (fis != null) {
                    try {
                        fis.close();
                    } catch (IOException e) {
                    }
                }
            }
            return actualObj;
        }
    }
    

      

    相应的也可以增加其他的类型支持,比如string数据, 或者是其他的。由于 springmvc rest接口默认会使用json的转化器,所以需要转化成对应的json格式

  • 相关阅读:
    009-docker-安装-redis:5.0.3-单点配置、集群配置
    【Java】PreparedStatement VS Statement
    开源搜素引擎——Nutch
    统计文件数目并生成日志
    【GitHub】 README.ME 格式
    【Java】类加载过程
    【Java】创建线程对象两种方式
    【Java】初始化过程
    解决Sublime Text 3 中文乱码
    【Java】线程池的作用
  • 原文地址:https://www.cnblogs.com/fartpig/p/5912147.html
Copyright © 2020-2023  润新知