[Java] JSON Binding with JAX-RS - Moxy, JSON-P, Jackson, Jettison (TOTD #214)

Posted by Unknown Rabu, 24 Juli 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/arungupta/entry/json_binding_with_jax_rs

プレゼンテーション中に頂く典型的な質問の一つに、「JAX-RSでJSONを使えるようにするにはどうすればいいの?」というものです。

JerseyでJSONを使えるようにする場合、基本的に3個のアプローチと、4個の異なるモジュールがあります。以下に簡単にまとめました。

MOXy JSON-P Jackson Jettison
POJO-based JSON Binding × ×
JAXB-based JSON Binding ×
Low-level JSON parsing & processing × ×

MOXyは、JerseyアプリケーションでサポートしているJSONバインディングのうちデフォルトかつ望ましい方法です。新しいサンプルが以下に追加されています。
glassfish~svn - Revision 62395: /branches/arun/javaee7-samples/samples/jaxrs/moxy
https://svn.java.net/svn/glassfish~svn/branches/arun/javaee7-samples/samples/jaxrs/moxy/
リソースの定義は以下のように行います。
@Path("endpoint")
public class MyResource {
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public MyObject echoObject(MyObject mo) {
return mo;
}
}
POJOは以下のように定義します。
public class MyObject {

private String name;
private int age;

public MyObject() {
}

public MyObject(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}
アプリケーションのクラスは
@ApplicationPath("webresources")
public class MyApplication extends Application {
}
クライアントコードは、
Client client = ClientBuilder.newClient();

WebTarget target = client.target("http://"
+ request.getServerName()
+ ":"
+ request.getServerPort()
+ request.getContextPath()
+ "/webresources/endpoint");
System.out.println("POST request");
MyObject mo = target
.request()
.post(Entity.entity(new MyObject("Duke", 18), MediaType.APPLICATION_JSON), MyObject.class);
out.println("Received response: " + mo.getName() + ", " + mo.getAge() + "<br><br>");
JSON MOXyモジュール(jersey-media-moxy.jar)はクラスパスに入っているので、Jerseyが自動的にモジュールを発見し、JSONバインディングのサポートが有効になります。

すべてのアプローチおよびモジュールに関する詳細の説明は、以下のリンクからどうぞ。
Jersey 2.0 User Guide
Support for Common Media Type Representations
http://jersey.java.net/documentation/latest/media.html
TERIMA KASIH ATAS KUNJUNGAN SAUDARA
Judul: [Java] JSON Binding with JAX-RS - Moxy, JSON-P, Jackson, Jettison (TOTD #214)
Ditulis oleh Unknown
Rating Blog 5 dari 5
Semoga artikel ini bermanfaat bagi saudara. Jika ingin mengutip, baik itu sebagian atau keseluruhan dari isi artikel ini harap menyertakan link dofollow ke http://apk-zipalign.blogspot.com/2013/07/java-json-binding-with-jax-rs-moxy-json.html. Terima kasih sudah singgah membaca artikel ini.

0 komentar:

Posting Komentar

Trik SEO Terbaru support Online Shop Baju Wanita - Original design by Bamz | Copyright of apk zipalign.