Support for adding mock json to springmvc, springmvcjson
Add the mock function returned after parsing the json file under the server classPath in springmvc:
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; }}
You can also add support for other types, such as string data or others. Springmvc rest interface uses the json Converter by default, so it needs to be converted to the corresponding json format