2013-07-05 20 views
9

Badam na Jersey i RESTEasy. Negocjacje typu Media dla XML i JSON działają dobrze i jestem w stanie je spożytkować i wyprodukować. Zostałem jednak poproszony o wyprodukowanie i skonsumowanie odpowiedzi na nowy typ zawartości. Na przykład BSON lub niestandardowy typ treści. Przeszukałem go przez internet, ale nie mogłem znaleźć w nim zbyt wielu informacji. Czy mimo to nadal mogę używać adnotacji @Produces i @Consumes w JAX-RS dla nowego typu zawartości?Jak obsłużyć/utworzyć nowy typ treści/MediaType w JAX-RS?

Z góry dziękuję.

Odpowiedz

16

Tak, można używać @Produces i @Consumes z niestandardowymi rodzajami mediów. Aby użyć niestandardowego typu mediów podczas sortowania i usuwania treści, musisz utworzyć implementacje MessageBodyWriter i MessageBodyReader, aby obsłużyć typ mediów.

Oto jak zaimplementować niestandardowy typ nośnika:

  1. opisywanie swoich metod i zasobów z @Consumes({"application/mycustomtype})@Produces({"application/mycustomtype}) wymagane.

  2. Implementacja niestandardowych implementacji MessageBodyReader i MessageBodyWriter w celu obsługi niestandardowego typu multimediów.

  3. opisywania MessageBodyReader z @Provider i @Consumes({"application/mycustomtype})

  4. opisywania MessageBodyWriter z @Provider i
    @Produces({"application/mycustomtype})

+2

Cześć, dzięki za podpowiedzi. Przejrzał te zajęcia w Google i uznał te linki za przydatne. [messagebodywriter] (http://alex.vanboxel.be/2010/11/09/evolve-with-messagebodywriter/), [messagebodywriter2] (http://stackoverflow.com/questions/16741853/how-to- write-an-xml-messagebodywriter-provider-with-jersey) i [przykład ibm] (http://www.ibm.com/developerworks/library/wa-jaxrs/) Dziękuję bardzo. – wwj

Powiązane problemy