Advertisement
Guest User

Jackson JSON Date formatter

a guest
Jan 17th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.78 KB | None | 0 0
  1. //-------------------------------JacksonJsonProvider.java------------------------------------------------------
  2. import javax.ws.rs.Produces;
  3. import javax.ws.rs.core.MediaType;
  4. import javax.ws.rs.ext.Provider;
  5.  
  6. import com.fasterxml.jackson.databind.ObjectMapper;
  7. import com.fasterxml.jackson.databind.SerializationFeature;
  8. import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
  9.  
  10. @Provider
  11. @Produces({ MediaType.APPLICATION_JSON })
  12. public class JacksonJsonProvider extends JacksonJaxbJsonProvider {
  13.  
  14.     public JacksonJsonProvider() {
  15.  
  16.         ObjectMapper objectMapper = new ObjectMapper()
  17.                 .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
  18.                 .setDateFormat(new RFC3339DateFormat());
  19.  
  20.         setMapper(objectMapper);
  21.     }
  22. }
  23.  
  24. //-------------------------------RFC3339DateFormat.java------------------------------------------------------
  25. import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
  26. import com.fasterxml.jackson.databind.util.ISO8601Utils;
  27.  
  28. import java.text.FieldPosition;
  29. import java.util.Date;
  30.  
  31. public class RFC3339DateFormat extends ISO8601DateFormat {
  32.  
  33.     // Same as ISO8601DateFormat but serializing milliseconds.
  34.     @Override
  35.     public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
  36.         String value = ISO8601Utils.format(date, true);
  37.         toAppendTo.append(value);
  38.         return toAppendTo;
  39.     }
  40.  
  41. }
  42.  
  43. //-------------------------------MyApp.java------------------------------------------------------
  44. import javax.ws.rs.core.Application;
  45.  
  46. public class MyApp extends Application {
  47.  
  48.     @Override
  49.     public Set<Class<?>> getClasses() {
  50.         Set<Class<?>> resources = new HashSet<Class<?>>();
  51.  
  52.         resources.add(MyResource.class);
  53.         resources.add(JacksonJsonProvider.class);
  54.  
  55.         return resources;
  56.     }
  57.  
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement