2017-08-13 5 views
1

私はSpringブートを使用しています。MongoDBに日付を保存しようとしています。Springブートを使用してdatetimeをMongoDBに保存できません。

Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Failed to parse Date value '2017-08-14T12:59': Can not parse date "2017-08-14T12:59.000Z": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSS'Z'', parsing fails (leniency? null); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Failed to parse Date value '2017-08-14T12:59': Can not parse date "2017-08-14T12:59.000Z": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSS'Z'', parsing fails (leniency? null) (through reference chain: 

を私のPOJOで、私は次のように試してみました:

@JsonDeserialize(using= CustomDateDeserialize.class) 
private Date inputDateTime; 

と私はこのようなデシリアライザを実装しました:

私の入力日付は

"2017-08-14T12:59"

節約しながら、私はこのエラーを取得しています

private SimpleDateFormat dateFormat = new SimpleDateFormat(
      "yyyy-MM-dd HH:mm"); 

    @Override 
    public Date deserialize(JsonParser paramJsonParser, 
      DeserializationContext paramDeserializationContext) 
      throws IOException, JsonProcessingException { 
     String str = paramJsonParser.getText().trim(); 
     try { 
      return dateFormat.parse(str); 
     } catch (ParseException e) { 

     } 
     return paramDeserializationContext.parseDate(str); 
    } 

どのel私はここで恋しいですか?どんな助けもありがたい。

答えて

0

デシリアライザの形式を変更する必要があります。

SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm");

何らかの形で単純な形式の時刻書式はスレッドセーフではありません。 java8の場合はDateTimeFormatを使用します。

+0

を使用して提出設定することができますInstantライブラリ

@Field("your_db_id_name") private Instant inputDateTime; public void setInputDateTime(Instant inputDateTime) { this.inputDateTime = inputDateTime; } public void getInputDateTime() { return inputDateTime; } 

を試みてはいけない理由:2017から08「日付の値を解析できませんでした-14T12:59 ':日付「2017-08-14T12:59.000Z」を解析できません:フォーマット' yyyy-MM-dd'T'HH:mm:ss.SSS'Z ''に適合しているようですが、解析が失敗します(寛容?ヌル); – Rohitesh

0

あなたはあなたが私もこれを試してみましたが、私はJSONのパースエラーを取得していますInstant.now()

+0

いいえ私はこれを試してみます – Rohitesh

+0

@Rohiteshこれがあなたの問題を解決し、正解とマークするならば。それは他人にとって価値があるでしょう。 –

関連する問題