我有一个来自Swagger文件的自动生成的Java客户端,用于服务的API。我将Swagger文件放在Swagger编辑器中并下载了Java客户端,然后将其安装到我当地的maven repo中,然后我将其放入我的maven项目中使用。 (Swagger SOP到目前为止。)
我的所有请求都正常工作,直到我对包含ISO日期的对象执行get请求而没有指示UTC的Z(例如capabilities = ChoiceArrayField(base_field=models.CharField(max_length=64, choices=PEER_CAPS, blank=True, null=True), default=list, blank=True, null=True)
不起作用,但2018-02-07T21:23:37.177
有效)。
我得到的例外是:
org.threeten.bp.format.DateTimeParseException:Text '2018-02-07T21:23:37.177'无法在索引23处解析
这发生在Gson.java类(gson 2.8.1)中,该类与自动生成的swagger客户端一起打包,在2017-07-18T03:41:57.427Z
方法尝试反序列化日期时。我走过了三个fromJson
,看起来它解析好了,然后当它解开它的解析位置时,它会突然将位置设置为DateTimeFormatterBuilder
并添加错误位置,从而引发错误。
我想知道其中一个是否可能是原因,或者这是否给了任何人一些洞察力的想法:
-24
和format: date-time