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格式

  • 相关阅读:
    Leetcode_02【两数相加】——【难度:中】
    Leetcode_39【组合总和】
    Leetcode_38【报数】
    Leetcode_36【有效的数独】
    Leetcode_35【搜索插入位置】
    51nod1347 旋转字符串
    WebH
    ExcelHelper
    文件二进制与String相互转换
    汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp
  • 原文地址:https://www.cnblogs.com/fartpig/p/5912147.html
Copyright © 2011-2022 走看看