第一种形式:使用注解@ResponseBody
@RequestMapping(value = "/admin/jq", method = RequestMethod.GET)
@ResponseBody
public List<Map<String, Object>> jq() {
List<Map<String, Object>> allUser = (List<Map<String, Object>>) userService.getAllUsers().get("allUser");
logger.info("allUser: " + allUser);
return allUser;
}
响应结果:
[
{
id=1,
username=admin,
status=true,
roleId=1,
description=备注描述的,
roleName=ROLE_ADMIN
},
{
id=6,
username=adminto,
status=true,
roleId=2,
description=null,
roleName=ROLE_EXPERT
}
]
第二种形式:利用HttpServletResponse结合第三方JSON组件(如Jackson、fastjson、gson)进行响应
@RequestMapping(value = "/admin/jq2", headers = "Accept=application/json")
public void jq2(HttpServletResponse response) throws IOException {
response.setContentType("application/json;charset=utf-8");
List<Map<String, Object>> allUser = (List<Map<String, Object>>) userService.getAllUsers().get("allUser");
logger.info("allUser: " + allUser);
String jsonString = JSON.toJSONString(allUser, SerializerFeature.WriteNullStringAsEmpty);
logger.info("jsonString: " + jsonString);
response.getWriter().write(jsonString);
}
响应结果:
[
{
id=1,
username=admin,
status=true,
roleId=1,
description=备注描述的,
roleName=ROLE_ADMIN
},
{
id=6,
username=adminto,
status=true,
roleId=2,
description=null,
roleName=ROLE_EXPERT
}
]