Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्लाइंट द्वारा भेजा गया अनुरोध @DateTimeFormat . का उपयोग करके वाक्यात्मक रूप से गलत था

क्योंकि आप RequestBody . का उपयोग कर रहे हैं एक application/json . के साथ सामग्री प्रकार, स्प्रिंग अपने MappingJackson2HttpMessageConverter का उपयोग करेगा अपने JSON को अपने प्रकार की वस्तु में बदलने के लिए। हालाँकि आपके द्वारा प्रदान की जाने वाली दिनांक स्ट्रिंग, 11/14 किसी भी पूर्व-कॉन्फ़िगर दिनांक पैटर्न से मेल नहीं खाता है और इसलिए यह इसे सही ढंग से पार्स नहीं कर सकता है। MappingJackson2HttpMessageConverter , या अधिक विशेष रूप से ObjectMapper जो काम करता है, @DateTimeFormat के बारे में कुछ नहीं जानता , एक स्प्रिंग एनोटेशन।

आपको जैक्सन को यह बताना होगा कि आप किस तिथि पैटर्न का उपयोग करना चाहते हैं। आप एक कस्टम दिनांक deserializer के साथ ऐसा कर सकते हैं

public class CustomDateDeserializer extends JsonDeserializer<Date> {
    @Override
    public Date deserialize(JsonParser jp, DeserializationContext ctxt)
            throws IOException, JsonProcessingException {
        SimpleDateFormat format = new SimpleDateFormat("MM/yy");
        String date = jp.getText();

        try {
            return format.parse(date);
        } catch (ParseException e) {
            throw new JsonParseException(e);
        }
    }
}

फिर बस अपने क्षेत्र को एनोटेट करें ताकि जैक्सन को पता चले कि इसे कैसे डीरियलाइज करना है।

@JsonDeserialize(using = CustomDateDeserializer.class)
private Date test;

आप उपयोग कर सकते हैं @DateTimeFormat यदि आप @ModelAttribute . के साथ url-एन्कोडेड फ़ॉर्म पैरामीटर का उपयोग कर रहे थे . स्प्रिंग कुछ कन्वर्टर्स को पंजीकृत करता है जो अनुरोध पैरामीटर से स्ट्रिंग मान को Date . में परिवर्तित कर सकते हैं वस्तु। यह इसमें वर्णित है विसंक्रमण।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL तालिका में एकल वर्ण से मिलान करने में समस्या आ रही है

  2. ORDER BY और GROUP BY का एक साथ उपयोग करना

  3. एकाधिक तालिकाओं में MySQL पूर्ण पाठ खोज प्रासंगिकता

  4. CONCAT () MySQL में डिफ़ॉल्ट वर्णसेट के लिए डिफ़ॉल्ट क्यों नहीं है?

  5. PDO और तैयार किए गए कथनों के साथ mysql_* फ़ंक्शन को बदलना