@ResponseBody可以標注在方法上也可以標注在類上面。簡單來說,當標注在方法上時,該方法的返回結果直接轉成JSON格式;當標注在類上時,該類中的所有方法的返回結果都轉換成JSON格式。
代碼示例如下:
前端的異步請求使用JQuery的ajax方法
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> </script> <script> $.ajax({ url:"/testxxx", success:function(result){ $("#div1").html(result); } }); </script>
服務器端Controller類
標注在方法上,返回值類型為String類型
@RequestMapping("/teststr")
@ResponseBody
public String getStr(){
return "hello";
}
訪問結果

返回值類型為集合類型
@RequestMapping("/testlist")
@ResponseBody
public List getList(){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
return list;
}
返回結果

返回值類型為Map類型
@RequestMapping("/testmap")
@ResponseBody
public Map<Integer,String> getMap(){
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1,"aaa");
map.put(2,"bbb");
map.put(3,"ccc");
return map;
}
返回結果

返回值類型為POJO類型
Student類
public class Student { private String name; private int age; //getter和setter方法 }
Controller類
@RequestMapping("/getstu")
@ResponseBody
public Student getStu(HttpServletResponse response){
Student stu = new Student();
stu.setName("Tom");
stu.setAge(20);
return stu;
}
返回結果

