zoukankan      html  css  js  c++  java
  • 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格式

  • 相关阅读:
    linux 配置ssh免密码登陆本机
    Java连接mysql数据库并插入中文数据显示乱码
    新浪微博热门评论爬虫采集
    新浪微博热门评论抽取规则
    【MySql】Java 批量插入数据库addBatch
    算法设计题4.3 等差数列
    PHP setcookie() 函数
    Linux下用于查看系统当前登录用户信息 w命令
    Ubuntu 登录锐捷 网卡被禁用 网口灯不亮解决
    将 VMware 最小化到系统托盘
  • 原文地址:https://www.cnblogs.com/fartpig/p/5912147.html
Copyright © 2011-2022 走看看