2011-04-19 19 views
8

Java'da RUTful Hizmeti'ni PUT isteğiyle bir JSON Nesnesini alan ve otomatik olarak bir Java Nesnesine eşlenen bir RESTful Hizmeti uygulamaya çalışıyorum. Bunu XML'de yapmayı başardım, ancak JSON kullanarak bunu yapamıyorum. İşte yapmak istediğim şey bu:PUT Restful Hizmetinde JSON Nesnesini tüketin

@PUT 
@Consumes(MediaType.APPLICATION_XML) 
public String putTodo(JAXBElement<Route> r) { 
    Route route = r.getValue(); 
    route.toString(); 
    System.out.println("Received PUT XML Request"); 
    return "ok"; 
} 

Bu çalışır, ancak JSON benzer bir şey olurdu kullanarak, ama JAXB kullanamıyorum, I? Varsayılan Jersey

@PUT 
@Consumes(MediaType.APPLICATION_JSON) 
public String putTodo(<WHAT DO I PUT HERE>) { 
    Route route = r.getValue(); 
    route.toString(); 
    System.out.println("Received PUT JSON Request"); 
    return "ok"; 
} 

cevap

6

Jettison kütüphane yararlanarak JSON mesajları işlemek için JAXB kullanacaktır. JAXB jettison kullanma hakkında daha fazla bilgi için

@PUT 
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
public String putTodo(JAXBElement<Route> r) { 
    Route route = r.getValue(); 
    route.toString(); 
    System.out.println("Received PUT XML/JSON Request"); 
    return "ok"; 
} 

:

Yani aşağıdakileri yapabilirsiniz

+0

Ben, ancak kıpırdatmadığın çalıştı Çalışıyorum Belki hizmetin çağrılmasında MediaType belirtmiyordum;) teşekkürler – ffleandro

İlgili konular