2

Apache Camel アプリケーションで CXFRS を使用して作成された REST Web サービスに JSON 要求本文を渡そうとしています。

プロセッサに渡されたリクエスト JSON にアクセスしたいと考えています。

残りの URL:

http://localhost:8181/mywebservice/Hello/name/{request_param}

リクエスト本文に JSON を投稿していますが、プロセッサでexchange.getIn().getBody()は常に{request_param}リクエスト JSON ではありません。

私のREST Webサービスは次のとおりです。

@Path("/name/")
@Consumes({"application/json" ,"application/xml"})
public class HelloRest {
    @POST
    @Path("/{name}")
    public TestPojo sayHi(@PathParam("name") String name) {
        return new TestPojo(name);
    }
}
4

1 に答える 1

0

サーバー部分:

    @POST
@Path("/")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_JSON)
public String add(MappingUser newUser){
    UserEntity userEntity = new UserEntity(newUser.getNickname(), newUser.getPassword());
    boolean ret = myDB.addUser(userEntity);

    //sends the return value (primitive type) as plain text over network
    return String.valueOf(ret);
}

クライアント部分:

 public boolean addUser(User user){
    WebResource resource = client.resource(url).path("/");

    String response = resource
            //type of response
            .accept(MediaType.TEXT_PLAIN_TYPE)
            //type of request
            .type(MediaType.APPLICATION_JSON_TYPE)
            //method
            .post(String.class, user);

    return Boolean.valueOf(response);
}
于 2012-10-17T12:11:00.640 に答える