在controller中使用@RequestBody可以自动将字符串转换成int或者将int转换成字符串,但是Date类型则不行
比如:
@PostMapping("/clockRecords")
public String clockRecordsPost(@RequestBody Query query){
return query.getDate()+"";
}
Query对象中有Date类型的字段,@RequestBody会帮我们把前台传来的json映射成Query对象,为了能够自动转换Date我们需要加入@JsonFormat注解:
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
public class Query {
private Integer page;
private Integer limit;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date startTime;
.............
}
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.2.3</version>
</dependency>