问题标签 [jsr310]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Jersey 客户端,Java 8 Date API (Jsr310) 的问题
我正在使用 jersey 客户端使用 REST 服务做一个小 PoC,但我遇到了 LocalDateTime 格式的字段问题。REST 服务响应如下:
还有我的实体类:
我的 pom.xml 中的依赖项:
我的代码使用 jersey 客户端执行 GET /api/info/123:
我遇到了这样的异常:
我错过了什么?我用 RestTemplate(Spring 休息客户端)尝试了这个,它无需任何配置即可完美运行。
java - 使用 Spring Data REST 时如何更改 Jacksons 配置?
我正在尝试将 Jackson 配置为以 ISO 8601 格式显示 JSR 310 瞬间。
然而,这不是一个独特的 Bean,实际上我只想禁用这个设置。所以我并不是真的想创建 ObjectMapper,而是在它上面指定一个设置。
虽然不是真的需要,但这是我的pom.xml
和我的控制器的输出,它在问候 DTO 中有一个 Instant。
如何在默认对象映射器上重新配置这一设置?
jackson - 无法使用 Jackson 将 java.time.LocalDate 序列化为字符串
我正在使用 spring-boot 1.2.1.RELEASE 和 jackson 2.6.2,包括 jsr310 数据类型。我正在使用注释 @SpringBootApplication 来启动我的 Spring 应用程序。我有
在我的 application.properties 中设置(我知道正在读取它,因为我使用banner = false 进行了测试)。
然而 java.time.LocalDate 仍然被序列化为一个整数数组。我没有使用@EnableWebMvc。
看起来如果我添加标签
到我的 LocalDate 变量然后它工作。但我认为上面的属性集是自动的。另外,如果我没记错的话(我刚刚决定使用整数数组),那只适用于序列化而不是反序列化(但老实说,我不太记得最后一部分是否属实)。
spring - Neo4jTemplate 保存不保存 Java 8 LocalDateTime 字段
我正在使用带有 spring-data-neo4j-rest 的 spring-boot。Maven依赖项为
我的模型有一个 LocalDateTime 类型的字段
在服务类中,此模型使用 Neo4jTemplate 保存方法保存。
问题是当 Date 字段作为时间戳存储在 Neo4j 中时,LocalDateTime 根本没有存储。不明白我在这里做错了什么。是否需要将 LocalDateTime 的自定义转换器添加到长转换并如LocalDateTime 中所述注册不是转换为字符串而是转换为 Json 对象
jackson - Java-8 LocalDateTime 使用 DateTimeFormatter 序列化
我正在使用 Dropwizard 0.8.4 和 jackson-datatype-jsr310。
a) 想将我的 LocalDateTime 序列化为 JSON 输出作为 DateTimeFormatter.ISO_INSTANT 但找不到任何干净的方法来做到这一点(不实现自定义序列化类),这不应该是与简单注释非常标准的事情吗?
目前我的代码适用于:
但该模式与 ISO_INSTANT 并不完全相同,并且当我对其进行一些调试时,ISO_INSTANT 甚至不能由字符串模式呈现。
b)使用 Joda-Time 会更好吗,Dropwizard 似乎默认支持它?
c)有没有办法根据值(布尔值为假)跳过将 Java 字段序列化为 JSON?我尝试了@JsonFilter 和 SimpleBeanPropertyFilter 但没有让它工作,而且它似乎也被弃用了。@JsonProperty(defaultValue...) 似乎也不起作用。
java - 带小时、分钟和秒的时间段
我需要一个表示年、月、周、日、小时、分钟、秒的间隔数据类型。前三个(年、月、日)可以完成,Period
后三个(小时、分钟、秒)可以完成,Duration
但它们似乎都没有。理想情况下,我想避免实现自定义TemporalAmount
.
java - ZonedDateTime 的杰克逊反序列化问题
我在反序列化我正在使用的服务期间使用的类中有以下字段。
我正在使用的服务可能会使用以下模式返回 Date 或 DateTime:yyyy-MM-dd'T'HH:mm:ss.SSSZ
让我举两个服务返回的例子:
- 2015-11-18T18:05:38.000+0200
- 2015-11-18T00:00:00.000+0200
虽然第一个效果很好,但后者会在反序列化期间引发以下异常:
java.time.format.DateTimeParseException:无法在索引 23 处解析文本“2015-11-18T00:00:00.000+0200”
我在用着;
- 春季启动 1.3.1
- Jackson 2.6.4(包含 JSR310 模块)
这是否需要自定义反序列化类?
java - 'AttributeConverter 和显式类型不能应用于相同的属性' 使用 LocalDateTime
我正在使用 ZonedDateTime,目前正在使用带有 JPA 的 Spring Boot 1.3.1 和使用 jadira 的 Hibernate:
这工作正常。但是,我现在想改用 LocalDateTime 。我将代码更改为:
通过这样做,我得到以下异常:
java - 如何使用 Spring MVC 将表单参数绑定到 Java 8 Duration?
我知道我可以使用以下方法将 Spring MVC 表单 bean 绑定到 LocalDateTime:
这会将 String like 转换2016-01-11T15:05:05.123Z
为LocalDateTime
对象。
我在这里找到了一些文档:http: //blog.codeleak.pl/2014/06/spring-4-datetimeformat-with-java-8.html
我找不到如何对java.time.Duration
. 我该怎么做呢?
java - 使用小数部分强制 DateTimeFormatter.ISO_* 格式
当使用 DateFormatter.ISO_[*] 格式化程序格式化(分区/本地)日期时间时,我希望始终使用“小数秒”部分来格式化日期。
但是,我格式化的每个具有getNanos == 0
格式化字符串的 DateTime 对象都是秒精度。
有没有办法强制格式化程序的这种行为?
(我想要这个是因为我希望日志易于解析,并且不幸的是 ISO_8601 期望这个)
** 旁注我使用的是 Threeten 库而不是 java8 本身(即将转换),但我不希望这在它们之间会有所不同