有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当提供的时区与服务器的时区相同时,RestCall中的java@DateTimeFormat(iso=iso.DATE_TIME)不工作

我有一个Spring Boot Rest调用,如下所示:

@GetMapping(value = "/bar", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Page<Bar>> getBarList(
        @RequestParam(name = "date", required = true) @DateTimeFormat(iso = ISO.DATE_TIME) ZonedDateTime date)

服务器的时区为+01:00[欧洲/柏林]。如果我在客户端提供与服务器时区匹配的日期,则该调用将被拒绝为错误请求:

var date=“2019-01-01T00:01:00.000+01:00”

我可以提供任何其他时区,然后客户端调用成功调用服务器端功能,例如:

2019-01-01T00:01:00.000-01:00
2019-01-01T00:01:00.000-07:00
2020-01-31T00:01:00.000Z

事实上,任何正时区都会导致错误的请求错误(例如2019-01-01T00:01:00.000+02:00或2019-01-01T00:01:00.000+03:00)。我该如何提供时区+1

我想我错过了一些东西,这是怎么回事


共 (1) 个答案

  1. # 1 楼答案

    +符号需要编码,用%2B替换+符号。这将解决问题