首先,导入转为json格式所需的三个架包。 注意:架包忘了导入会出现 406 Acceptable 错误!
接着是controller类:
//@Controller
@RestController //当前Controller中的每个方法都返回json格式的字符串
public class ProductController {
//@ResponseBody //放在方法上,目的是把方法的返回值转换成json格式的字符串
@RequestMapping("selectjson.do")
public List<Product> selectjson (){
List<Product> products=new ArrayList<>();
for(int i=0;i<8;i++) {
Product p = new Product(i,"name"+i);
products.add(p);
}
return products;
}
}
运行后:
可以看到,这样就完成了json格式的转化!
在controller类中,可以看到有两个注释掉的注解
@Controller @ResponseBody
这两个注解和@RestController 的使用是一样的,当定义了@RestController表示这整个类都转为json格式,当使用@Controller @ResponseBody 的时候该类中还可以存在其他非json的格式
我们来看下@RestController 的源码,其实是下面5个注解的合体