问题场景:今天做测试的时候发现service实现类都已经获取到数据库的数据了,但是页面的数据库的json数据显示不出来,经过验证
controller:注解问题
//如果用RestController,比如login.html就会只显示值,必须用controller注解才可以显示页面
@RestController 可以成功返回json数据
@Controller 不可以成功返回json数据(需要在对应的方法上加上 @RequestBody注解
)
一:1.使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
若返回json等内容到页面,则需要加@ResponseBody注解
2.@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
二、
1、@RequestMapping 默认method是get,post方式都支持
2、@RequestMapping(value = “createPickOrder.do”, produces = “application/json;charset=utf-8”, method = RequestMethod.POST)
produces = “application/json;charset=utf-8”:表示返回数据格式
method = RequestMethod.POST表示请求格式
post请求,如果是接收json格式(要求传输参数是json(application/json;charset=utf-8),接收参数要是一个参数或者是一个对象并且参数前加上@RequestBody注解);如果是表单提交(application/x-www-form-urlencoded),接收参数没有要求即可以是对象也可以是多个参数的接收方式
get请求,参数不能是json(application/json;charset=utf-8)格式,只能是表单(application/x-www-form-urlencoded)格式