MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

वेब सेवा से डेटाटाइम प्रारूप को एक स्ट्रिंग में बदलें

इसे हासिल करने के दो तरीके हैं।

  1. जैक्सन सीरियल का उपयोग करें - वैश्विक रूपांतरण के लिए। हर रूपांतरण पर लागू होता है
  2. उपयोगकर्ता स्प्रिंग WebDataBinder और PropertyEditorSupport। आप चुन सकते हैं कि किस नियंत्रक को इस रूपांतरण की आवश्यकता है

जैक्सन सीरिएलाइज़र लागू करें

जैक्सन मॉड्यूल में उपरोक्त वर्ग को पंजीकृत करें

public class CustomDateTimeSerializer extends JsonSerializer<DateTime> {
    // Customize format as per your need 
    private static DateTimeFormatter formatter = DateTimeFormat
            .forPattern("yyyy-MM-dd'T'HH:mm:ss");

    @Override
    public void serialize(DateTime value, JsonGenerator generator,
                          SerializerProvider serializerProvider)
            throws IOException {
        generator.writeString(formatter.print(value));
    }

}

जैक्सन मॉड्यूल में सीरियलाइज़र जोड़ें

@Configuration
public class JacksonConfiguration {

    @Bean
    public JodaModule jacksonJodaModule() {
        final JodaModule module = new JodaModule();
        module.addSerializer(DateTime.class, new CustomDateTimeSerializer());
        return module;
    }
}

WebBinder API और PropertyEditorSupport का उपयोग करें

PropertyEditorSupport लागू करें

public class DateTimeEditor extends PropertyEditorSupport {

    private final DateTimeFormatter formatter;

    public DateTimeEditor(String dateFormat) {
        this.formatter = DateTimeFormat.forPattern(dateFormat);
    }

    public String getAsText() {
        DateTime value = (DateTime) getValue();
        return value != null ? value.toString(formatter) : "";
    }

    public void setAsText( String text ) throws IllegalArgumentException {
        if ( !StringUtils.hasText(text) ) {
            // Treat empty String as null value.
            setValue(null);
        } else {
            setValue(new DateTime(formatter.parseDateTime(text)));
        }
    }
}

इस प्रॉपर्टी एडिटर को रेस्ट कंट्रोलर में जोड़ें

@RestController
@RequestMapping("/abc")
public class AbcController {

    @InitBinder
    public void initBinder(WebDataBinder binder) {
        binder.registerCustomEditor(DateTime.class, new DateTimeEditor("yyyy-MM-dd", false));
    }

}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो में नेस्टेड सरणी दस्तावेज़ को अद्यतन करने के लिए क्वेरी कैसे बनाएं?

  2. मोंगोडब:सरणी वाले दस्तावेज़ खोजें जहाँ कम से कम एक तत्व ऑब्जेक्ट से मेल नहीं खाता

  3. नेवले के साथ लोड होने में फंस गया

  4. कैसे एक एम्बेडेड सरणी में एक अद्यतन के बाद नया मान वापस पाने के लिए?

  5. htmlspecialchars सरणी के अंदर मान को हटा दें?