RESTEasy Jacksonを使ったJSONの例
1. RESTEasy + Jackson
JacksonとRESTEasyを統合するには、 ”
resteasy-jackson-provider.jar
“を含める必要があります。
-
Note ** RESTEasyがjson出力を返すと、Jacksonプロバイダを使用して自動的に変換されます。両方を統合するために1行をコーディングする必要はありません。
File:pom.xml
<repositories> <repository> <id>JBoss repository</id> <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>2.2.1.GA</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jackson-provider</artifactId> <version>2.2.1.GA</version> </dependency> </dependencies>
2.シンプルなオブジェクト
単純なオブジェクトで、後でそれをJSON形式に変換します。
package com.mkyong.rest; public class Product { String name; int qty; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getQty() { return qty; } public void setQty(int qty) { this.qty = qty; } }
3. JAX-RS
メソッドに `@Produces(” application/json “)`を注釈する。 RESTEasyはJacksonプロバイダを使用して自動的にJSON変換を処理します。
import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; @Path("/json/product") public class JSONService { @GET @Path("/get") @Produces("application/json") public Product getProductInJSON() { Product product = new Product(); product.setName("iPad 3"); product.setQty(999); return product; } @POST @Path("/post") @Consumes("application/json") public Response createProductInJSON(Product product) { String result = "Product created : " + product; return Response.status(201).entity(result).build(); } }
-
RESTEasy自動スキャンを無効にする** RESTEasy自動スキャンを無効にして手動でRESTサービスを登録する必要があります。そうしないと、このリンクにアクセスします://webservices/jax-rs/illegal-to-inject-a-message-コードハウス – ジャクソン – ジャクソン – ジャクソン・ジャー・プロビデイダー/[エラー]。
将来のリリースで修正されることを願っています。
File:web.xml
<!-- disabled auto scan <context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param> --> <context-param> <param-name>resteasy.resources</param-name> <param-value>com.mkyong.rest.JSONService</param-value> </context-param>
4.デモ
GETメソッドとPOSTメソッドを参照してください。
-
1。 GETメソッド
URIパターン ”
/json/product/get ** “が要求された場合、以下のJSONファイルが返されます。
{ "qty":999, "name":"iPad 3" }
-
2。 POSTメソッド
json形式の文字列をURIパターン ”
/json/product/post ** “に “投稿”することができます。自動的に “Product”に変換されます。
ソースコードをダウンロードする
ダウンロードする –
JAX-RS-Download-JSON-Jackson-Example.zip
(8 KB)