Spring MVC Java中日期对象的日期请求参数

8dtrkrch  于 2023-01-31  发布在  Spring
关注(0)|答案(1)|浏览(156)

我在控制器方法中收到以下请求:list?finish=2016-09-01T18:45:29.312Z&start=2016-09-01T18:45:29.312Z&userId=1
在控制器中我有以下方法:

@RequestMapping(value = "/list", method = RequestMethod.GET)
public SimpleResponse<PagedResult<RecordApi>> list(PageableRequest pageRequest) {
    return ....;
}

PageableRequest对象:

@JsonIgnoreProperties(ignoreUnknown = true)
public class PageableRequest {

    private static final String DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm.SSSZ";

    @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = DATETIME_FORMAT)
    private Date start;
    @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = DATETIME_FORMAT)
    private Date finish;

我尝试了不同的日期时间格式,但都不起作用:yyyy-MM-dd'T'HH:mm.SSSZyyyy-MM-dd'T'HH:mm.SSS'Z'yyyy-MM-ddTHH:mm.SSSZ
但是我每次都看到400 Bad Request这个问题怎么解决?

vltsax25

vltsax251#

尝试在POST中更改方法,并使用@RequestBody标记方法参数:

@PostMapping("/list")
public SimpleResponse<PagedResult<RecordApi>> list(@RequestBody PageableRequest pageRequest) {
    return ....;
}

相关问题