Skip to content

Commit

Permalink
add joda serializer
Browse files Browse the repository at this point in the history
  • Loading branch information
oven committed Dec 14, 2016
1 parent 3bf413c commit 3905233
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 1 deletion.
6 changes: 6 additions & 0 deletions autoconfig-example/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,11 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.4</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package no.bouvet.autoconfig;

import com.fasterxml.jackson.databind.Module;
import com.fasterxml.jackson.databind.module.SimpleModule;
import org.joda.time.LocalDate;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
@ConditionalOnClass(LocalDate.class)
public class JodaTimeAutoconfig {
@Bean
public Module module() {
SimpleModule module = new SimpleModule();
module.addSerializer(LocalDate.class, new JodaTimeSerializer());
return module;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package no.bouvet.autoconfig;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.joda.time.LocalDate;

import java.io.IOException;


public class JodaTimeSerializer extends JsonSerializer<LocalDate> {
@Override
public void serialize(LocalDate localDate, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField("time", localDate.toString());
jsonGenerator.writeEndObject();
}
}
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
no.bouvet.autoconfig.DebugFilterAutoconfig
no.bouvet.autoconfig.DebugFilterAutoconfig, no.bouvet.autoconfig.JodaTimeAutoconfig
6 changes: 6 additions & 0 deletions webapp/src/main/java/no/bouvet/webapp/MyController.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.bouvet.webapp;

import org.joda.time.LocalDate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

Expand All @@ -10,4 +11,9 @@ public class MyController {
public String hello() {
return "hello, world!";
}

@GetMapping("/now")
public LocalDate now() {
return new LocalDate();
}
}

0 comments on commit 3905233

Please sign in to comment.