0

ObjectMapper組み込みのを構成しようとしましたplay.libs.Json。ドキュメントに従いましたが、MapperLoader は無視されているようです。

これは私がしていることです(ドキュメントに基づいて):

  • CustomMapperLoader を作成する public class JsonMapperLoader extends GuiceApplicationLoader { @Override public GuiceApplicationBuilder builder(final Context context) { ObjectMapper mapper = Json.newDefaultMapper() .setDateFormat(new SimpleDateFormat(Constants.ISO8601_DATE_FORMAT)); Json.setObjectMapper(mapper); return super.builder(context); } }

  • application.conf でローダーを明示的にロードします。

play.application.loader = "JsonMapperLoader"

日付をシリアル化すると、指定された形式ではなくタイムスタンプが表示されます。

これにはいくつかの回避策があります。

  1. の作成中にオブジェクトマッパーを設定しました ApplicationController
  2. を無効にしplay.core.ObjectMapperProviderて有効にしCustomObjectMapperProviderます。

この問題のより良い代替手段はありますか?

ありがとうございます。それでは、お元気で、

4

1 に答える 1

0

マニュアルで提案されている方法を試したことはありません(カスタム ApplicationLoader を使用)。私は別のテクニックを使っています。つまり、ObjectMapper を構成するクラスがあります。クラスはモジュールにシングルトンとして注入されます。

ここで完全なコード例を見ることができます。

于 2016-07-02T15:34:32.327 に答える