问题
I'm using Jersey for my RESTful services and Genson to perform my JSON/POJO conversion. There's no setup for Genson, I just drop it into the classpath and it just works, except that it throws an error on date parsing because the format is unexpected.
Now, if I were to do this as a servlet, using Gson, I set the date format on a Gson instance that I maintain. That forces the parse of the POJO to use the correct format. I see that Genson has a similar interface, but I don't know how to get the instance from the Jersey servlet service or maybe the Spring context so that I cat set the format.
So, the short question is: how do I set a date format for Genson when started through Jersey?
回答1:
To configure Genson instances you can use Genson.Builder class (it is similar to Gson on this point). Then you have to inject it with Jersey.
@Component
@Provider
public class GensonProvider implements ContextResolver<Genson> {
private final Genson genson = new Genson.Builder().setDateFormat(yourDateFormat).create();
@Override
public Genson getContext(Class<?> type) {
return genson;
}
}
You might also want to have a look at how Genson is integrated into Jersey here.
来源:https://stackoverflow.com/questions/13616034/how-do-i-configure-the-date-formatter-through-genson-jersey