日期类型参数传递
// 对于2088/08/08这样的格式日期,可以自动转为Date类型
public String dataParam(Date date)
// 如果发来的数据是其他格式,比如`2088-08-18`,`2088/08/28 8:08:08`等其他的,则需使用注解进行指定
// for instance
public String dataParam(@DateTimeFormat(pattern="yyyy-MM-dd") Date date)
public String dataParam(@DateTimeFormat(pattern="yyyy/MM/dd HH:mm:ss") Date date)
响应
响应页面/跳转页面:不要加@ResponseBody,返回一个文件名字符串
响应文本数据(字符串)
@ResponseBody
public String toText(){
System.out.println("返回纯文本数据");
return "reponse text";
}
响应JSON数据
使用@ResponseBody
(得有JackSon坐标,然后开启mvc的注解驱动(此时在HandlerAdaptor中会自动装配一个消息转换器MappingJackson2HttpMessageConverter,将Java对象转换为Json字符串))
@ResponseBody
public User toJSON(){
System.out.println("返回 JSON对象数据");
User user = new User();
user.setName("itcast");
return user;
}
关于 @ResponseBody,设置当前返回值为响应体,如果返回值是String,就直接返回出去,如果是POJO,就转为前面可识别的数据,再给响应数据,比如对象转JSON,集合转JSON
有了@ResponseBody,才会激活类型的自动转换,由HttpMessageConverter接口的实现类进行转换的,实现类中需要用到 JackSon坐标
总结:除了响应页面,其他(响应字符串,响应JSON)都需要@ResponseBody,响应JSON需要配合POJO来使用
@ResponseBody注解作用与原理
@ResponseBody详解