Spring MVC 学习笔记 3《返回JSON、XML》

版权声明:大家好,我是笨笨,笨笨的笨,笨笨的笨,转载请注明出处,谢谢! https://blog.csdn.net/jx520/article/details/87628520

@ResponseBody 不走视图,直接返回数据

通常用来返回 JSON,XML 等。具体看前端请求啥类型。

默认 @ResponseBody 返回 JSON 需要手工添加依赖

		<!-- JSON 转换 : Spring MVC 用 @ResponseBody 返回 JSON 需要此依赖 -->
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-databind</artifactId>
		    <version>${jackson.version}</version>
		</dependency>
		
		<!-- jackson-core 可以不写 jackson-databind 依赖 jackson-core,Maven 会自动取它 -->
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-core</artifactId>
		    <version>2.9.8</version>
		</dependency>

http://localhost/json

	@RequestMapping(value="/json", produces={"application/json; charset=UTF-8"})
	@ResponseBody
	public Map<String, Object> demo7() {
		System.out.println("返回json");
		Map<String , Object> map = new HashMap<String ,Object>();
        map.put("name", "笨笨");
        map.put("age", "18");
		return map;
	}

默认 @ResponseBody 返回 XML 需要手工添加依赖

		<!-- XML 转换  : Spring MVC 用 @ResponseBody 返回 XML 需要此依赖-->
		<dependency>
		    <groupId>com.fasterxml.jackson.dataformat</groupId>
		    <artifactId>jackson-dataformat-xml</artifactId>
		    <version>${jackson.version}</version>
		</dependency>

http://localhost/xml

	@RequestMapping(value="/xml", produces={"application/xml; charset=UTF-8"})
	@ResponseBody
	public Map<String, Object> demo8() {
		System.out.println("返回xml");
		Map<String , Object> map = new HashMap<String ,Object>();
        map.put("name", "笨笨笨笨");
        map.put("age", "888");
		return map;
	}

上面返回JSON的代码就 相当于 response.getWriter().write(json);
http://localhost/jsonDemo

	@RequestMapping(value="/jsonDemo", produces={"application/json; charset=UTF-8"})
	@ResponseBody
	public void jsonDemo(HttpServletResponse response) {
		System.out.println("返回json");
		Map<String , Object> map = new HashMap<String ,Object>();
		map.put("name", "笨笨");
        map.put("age", "18");
		
		try {
			String json = new ObjectMapper().writeValueAsString(map);
			response.getWriter().write(json);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

猜你喜欢

转载自blog.csdn.net/jx520/article/details/87628520