1

リクエストのコンテンツ タイプを設定しましたが、サポートされていないメディア タイプの例外が引き続き発生します。ここで2番目の目を探しています....

私のJavaコード:

@Path("/myPath")
public class MyResource {

    SensorStore dataStore = new SensorStoreDynamoImpl();

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/{id}")
    public Reading getObj(String id) {
        return dataStore.getValue(id);
    }

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public void saveObj(String id, Double myDouble, Long myLong) {
        dataStore.saveReading(id, myDouble, myLong);
    }

}

私がかけている電話:

POST to /myPath

Header:
Content-Type: application/json

Body:

{
id:"test", 
myDouble:22.2, 
myLong:22
}

何か案は?

4

1 に答える 1

4

これは、私が知っている有効なリソース メソッドのようには見えません。私が知らない高度な機能がある場合は修正していただきたいのですが、JAX-RS/Jersey で任意の JSON フィールドをメソッド パラメータに名前でバインドできることを知りませんでした。次のようなものが必要です。

class MyPojo {
    String id;
    Double myDouble;
    Long myLong;
}

@POST
@Consumes(MediaType.APPLICATION_JSON)
public void saveObj(MyPojo myPojo) {
    dataStore.saveReading(myPojo.id, myPojo.myDouble, myPojo.myLong);
}
于 2013-02-13T05:11:09.807 に答える