問題タブ [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 rest client) で試してみましたが、構成なしで完全に動作します。
jackson - java.time.LocalDate を Jackson で文字列としてシリアル化できません
jsr310 データ型を含む jackson 2.6.2 で spring-boot 1.2.1.RELEASE を使用しています。注釈 @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 が String ではなく Json オブジェクトに変換されるのに記載されているように登録するために必要ですか?
jackson - DateTimeFormatter を使用した Java-8 LocalDateTime シリアライズ
Dropwizard 0.8.4 と jackson-datatype-jsr310 を使用しています。
a) LocalDateTime を JSON 出力に DateTimeFormatter.ISO_INSTANT としてシリアライズしたいのですが、(カスタムのシリアライズ クラスを実装せずに) それを行うクリーンな方法が見つかりませんでした。
現在、私のコードは以下で動作します:
しかし、そのパターンは実際には ISO_INSTANT と同じではありません。少しデバッグしたところ、ISO_INSTANT は文字列パターンで表すことさえできません。
b) Dropwizard でデフォルトでサポートされているように見える Joda-Time を使用したほうがよいでしょうか?
c) 値に基づいて Java フィールドを JSON にシリアライズすることをスキップする方法はありますか (ブール値は false)? @JsonFilter と SimpleBeanPropertyFilter を試しましたが、機能しませんでした。また、廃止されたようです。また、 @JsonProperty(defaultValue...) も機能していないようです。
java - 時、分、秒のピリオド
年、月、週、日、時間、分、秒を表す間隔データ型が必要です。最初の 3 つ (年、月、日) は実行できPeriod
、最後の 3 つ (時間、分、秒) は実行できますがDuration
、両方を実行できるものはないようです。理想的には、カスタムを実装する必要は避けたいと思いますTemporalAmount
。
java - ZonedDateTime の Jackson の逆シリアル化の問題
消費しているサービスの逆シリアル化中に使用するクラスに次のフィールドがあります。
私が利用しているサービスは、次のパターンを使用して Date または DateTime を返す場合があります。yyyy-MM-dd'T'HH:mm:ss.SSSZ
サービスが返すものの例を 2 つ挙げましょう。
- 2015-11-18T18:05:38.000+0200
- 2015-11-18T00:00:00.000+0200
前者は問題なく動作しますが、後者は逆シリアル化中に次の例外がスローされます。
java.time.format.DateTimeParseException: テキスト '2015-11-18T00:00:00.000+0200' をインデックス 23 で解析できませんでした
私は使用しています;
- スプリング ブート 1.3.1
- Jackson 2.6.4 (JSR310 モジュールを含む)
これにはカスタム逆シリアル化クラスが必要ですか?
java - LocalDateTime を使用して、「AttributeConverter と明示的な型を同じ属性に適用することはできません」
現在、Jadira を使用して JPA と Hibernate で Spring Boot 1.3.1 を使用している ZonedDateTime を使用しています。
これはうまくいきます。ただし、代わりに LocalDateTime を使用したいと思います。コードを次のように変更しました。
そうすることで、次の例外が発生します。