tomcat8.5、eclipse、jerseyを使用したwebAPIを作成しています。
とりあえずgetやpostでテキストデータを受け取ることが出来たのですが
JSON形式でデータを受け取ることが出来ません。
該当urlへ接続しても500エラーになってしまいます。
###発生している問題・エラーメッセージ
Type ステータスレポート メッセージ Internal Server Error 説明 The server encountered an unexpected condition that prevented it from fulfilling the request. MessageBodyWriter not found for media type=application/json, type=class com.time.test.web.Test_APi.Hel, genericType=class com.time.test.web.Test_APi.Hel.
###該当のソースコード
import java.util.HashSet; import java.util.Set; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import net.arnx.jsonic.JSON; @Path("myresource") public class MyResource { // テストデータ private static Set<HelloParamDto> set; static{ set = new HashSet<HelloParamDto>(); set.add(new HelloParamDto(1, "一")); set.add(new HelloParamDto(2, "二")); set.add(new HelloParamDto(3, "三")); set.add(new HelloParamDto(4, "四")); } @GET @Path("/hel") @Produces(MediaType.APPLICATION_JSON) public Hel hlt() { Hel dto = new Hel(); dto.name1 ="AAA"; dto.name2 ="BBB"; dto.name3 ="CCC"; dto.name4 ="DDD"; return dto; } } 戻り値のクラス import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Hel { public String name1; public String name2; public String name3; public String name4; }
###試したこと
MediaType.APPLICATION_JSONが上手くいっていない?ようなので
何かが足りないのかといろいろ調べたのですが、わかりませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
javaのサーブレットJSPで少しだけサイトを作ったことがありますが
ほとんど素人です。
eclipseを使い、新規プロジェクト→Maven Project→jersey-quickstart-webapp
でプロジェクトを作成しました。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/07 08:42 編集