1、当使用 @Controller 注解时,需要在相应的语句上加上 @ResponseBody ,在浏览器访问时才可以得到json内容。demo如下:
目录结构:
代码:
package com.wyq.demo.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@Controller
public class SampleController {
@RequestMapping("/")
@ResponseBody
public String home() {
return "Hello World!";
}
@RequestMapping("/test")
@ResponseBody
public Map<String,String> testMap(){
Map<String,String> map = new HashMap<>();
map.put("name", "wyq");
return map;
}
}
当在浏览器访问 localhost:8080/test时,可以得到以下内容:
2、当使用 @RestController 时,可以不加 @ResponseBody ,就可以访问到json内容。
@RestController= @Controller + @ResponseBody ;
代码如下:
package com.wyq.demo.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
//@Controller
@RestController
public class SampleController {
@RequestMapping("/")
public String home() {
return "Hello World!";
}
@RequestMapping("/test")
public Map<String,String> testMap(){
Map<String,String> map = new HashMap<>();
map.put("name", "wyq");
return map;
}
}
在浏览器访问 localhost:8080/test