2012-05-04 9 views
0

Jerseyを使用してJettyサーバーからJSON形式の単純なオブジェクトを取得しようとしています。Jerseyの埋め込まれたJettyからJSON POJOサポートを取得するには?

私はエラーを取得しておいてください。

myServletHolder.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true"); 

SEVERE: A message body writer for Java class my.package.resources.Album, and Java type class my.package.resources.Album, and MIME media type application/json was not found 

一つの問題は、私は突堤でPOJOMappingFeatureを置く場所、私は次のことを試してみましたかわからないが、どちらもエラーを変えることです

myServletContextHandler.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true"); 

私はニュージャージーの基本的なREST機能が働いている知っています私がJSONの出力を試す前に私はプレーンテキストを使っていました。

答えて

6

私は一日中戦ってきたので、私はこれに答えなかったのを見て、私は非常に残念でした。最後にそれを理解したので、ここで私のために働いたものがあります。私は何をやっていた

Map<String,Object> initMap = new HashMap<String, Object>(); 
    initMap.put("com.sun.jersey.api.json.POJOMappingFeature", "true"); 
    initMap.put("com.sun.jersey.config.property.packages", "my.package.with.resources"); 
    ServletHolder servletHolder = new ServletHolder(new ServletContainer(new PackagesResourceConfig(initMap))); 

私はINITのparamsとして私ジャージーパッケージと私のPOJOMappingFeatureフラグを指定することを確認しなければならなかった:私が行うために必要な何

ServletHolder servletHolder = new ServletHolder(new ServletContainer(new PackagesResourceConfig("my.package.with.resources"))); 
    servletHolder.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true"); 

。お役に立てれば。

1

クラスパスにjackson json-parserとJAXB libがあることを確認してください。

+0

これを完了するにはさらに情報を追加する必要があります – Siddharth

関連する問題