Podczas wywołania usługi internetowej chciałbym zwrócić moje obiekty z tą strukturą JSON.Dostosowywanie serializacji JSON przy użyciu JaxRS
{
"date" : "30/06/2014",
"price" : {
"val" : "12.50",
"curr" : "EUR"
}
}
Chciałbym map ten kod JSON do tej struktury Java (z joda-time i joda-money):
public class MyResponse {
LocalDate date;
Money price;
}
Moja usługa aktualnie wygląda tak:
@javax.ws.rs.POST
@javax.ws.rs.Path("test")
@javax.ws.rs.Produces({MediaType.APPLICATION_JSON})
@javax.ws.rs.Consumes({MediaType.APPLICATION_JSON})
public MyResponse test(MyRequest request) {
MyResponse response = new MyResponse();
response.setDate(LocalDate.now());
response.setMoney(Money.parse("EUR 12.50"));
return response;
}
więc moja Pytanie brzmi: gdzie mogę zarejestrować niestandardową procedurę obsługi, aby formatować daty tak, jak chcę, a także prezentacje pieniędzy?
Wierzę, że implementacja Jax RS używa pewnej biblioteki do obsługi JSON. Na przykład Spring używa 'Jackson' do tego celu, i zazwyczaj gdy potrzebujesz niestandardowej serializacji, wystarczy skonfigurować zachowanie serializacji używając' Jackson' APIs – WelcomeTo
Ramy użyte wydają się być 'org.jboss.resteasy: jaxrs-api: jar: 2.1. 0.GA: provided'. Biorąc to pod uwagę, myślę, że używa on standardowego serializera JBoss 6 JSon, ale nie mogę znaleźć tego, który jest. –