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

时间: 2024-07-30 18:42:49

springmvc添加mock json的支持的相关文章

spring-springmvc搭建(三)springMVC添加对静态资源访问的支持及对Fastjson的支持

1.添加对静态资源.js/.img/.css的访问 方式有3种: 1,更改springmvc 的DispatherServlet的urlpattern的路径改为“/*.do”. 2.添加<mvc:default-servlet-handler>,同时在web.xml中添加default的映射类型,目的让springmvc识别出那些可以放行,那些不可以. 在springmvc的上下文中添加: <mvc:default-servlet-handler/> 在web.xml中<se

QSettings的Json格式支持

一直觉得用QSettings保存配置信息很方便,为了让程序更够更方便的与Web程序和MongoDB,Redis,PostgreSQL等数据库交互,为QSettings 添加了Json格式支持 源码示例: https://github.com/tsuibin/Json_format_for_QSettings/blob/master/main.cpp #include <QApplication> #include <QJsonDocument> #include <QDebu

SpringMVC 控制器之对ServletAPI的支持与对JSON的支持

本篇两个知识点 1.SpringMVC对ServletAPI的支持 2.SpingMVC对JSON的支持 示例(用户登录,存放cookie与session) <body> <a href="${pageContext.request.contextPath }/user/ajax.do">测试ajax</a> <form action="${pageContext.request.contextPath }/user/login.do

阿里RAP+fiddler实现app原生应用的cgi数据mock----- (二)添加mock规则,随机返回4中类型(不同长度)的数据

##RAP如何生成json数据## 1.页面添加mock规则:直接入库: 2.服务从db中获取对应的规则串,调用mock-min.js解析,生成数据返回给服务: MockjsRunner.doRenderMockJsRule调用context.evaluateString直接执行mock-min.js,返回对应生成的结果:3.服务讲回调函数的结果返回给前端:##RAP如何添加规则##mock-min.js中对Random.extend进行扩展: Random.extend({ /*随机返回一个随

springmvc学习笔记(19)-RESTful支持

springmvc学习笔记(19)-RESTful支持 springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控制器配置 对静态资源的解析 本文介绍RESTful的概念,并通过一个小样例展示怎样编写RESTful风格的controller和配置前端控制器,最后展示静态资源的解析 概念 首先附上两篇博客链接 理解RESTful架构 - 阮一峰的网络日志 RESTful API 设计指南- 阮一峰的网络日志 RESTful架构.就是眼下最流

MySQL 5.7原生JSON格式支持

在MySQL与PostgreSQL的对比中,PG的JSON格式支持优势总是不断被拿来比较.其实早先MariaDB也有对非结构化的数据进行存储的方案,称为dynamic column,但是方案是通过BLOB类型的方式来存储.这样导致的问题是查询性能不高,不能有效建立索引,与一些文档数据库对比,优势并不大,故在社区的反应其实比较一般.当然,MariaDB的dynamic column功能还不仅限于非结构化数据的存储,但不在本文进行展开. MySQL 5.7.7 labs版本开始InnoDB存储引擎已

SQL Server 2016 JSON原生支持实例说明

原文:SQL Server 2016 JSON原生支持实例说明 背景 Microsoft SQL Server 对于数据平台的开发者来说越来越友好.比如已经原生支持XML很多年了,在这个趋势下,如今也能在SQLServer2016中使用内置的JSON.尤其对于一些大数据很数据接口的解析环节来说这显得非常有价值.与我们现在所做比如在SQL中使用CLR或者自定义的函数来解析JSON相比较,新的内置JSON会大大提高性能,同时优化了编程以及增删查改等方法. 那么是否意味着我们可以丢弃XML,然后开始使

SpringMVC在使用JSON时报错信息为:Content type &#39;application/json;charset=UTF-8&#39; not supported

直接原因是:我的(maven)项目parent父工程pom.xml缺少必要的三个jar包依赖坐标. 解决方法是:在web子模块的pom.xml里面添加springMVC使用JSON实现AJAX请求. <!--spring mvc-json依赖--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifact

控制台应用程序中添加对MFC的支持

在windows控制台应用程序中,肯能会想使用一些MFC中的类,如CStringArray等,通过下面两步简单的设置可以添加对MFC的支持: 1.右击工程名 -> References 选择 All Configuration ->Configuration Properties ->General->Use of MFC ->Use MFC in a Shared DLL 2.在stdafx.h头文件中添加一下内容: #define _ATL_CSTRING_EXPLICI