0

RESTful Web サーバーで JSON オブジェクトを使用するにはどうすればよいですか。クライアントはどうあるべきか。ジャージーサーバーを使用しています。元。

//BEAN
public class Student{
public String name;
}

//SERVER
@POST @Consumes("application/json")
@Path("/create")
public void create(Student s1) {
    System.out.println(s1.name);
}

//CLIENT
ClientConfig config1 = new DefaultClientConfig();
Client client1 = Client.create(config1);
client1.addFilter(new LoggingFilter());
WebResource service1 = client1.resource(getBaseURI());
Student s = new WSTestClient.Student();
s.name="POP";
service1.path("create").type(MediaType.APPLICATION_JSON).post(s);

動いていない...

4

2 に答える 2

0

REST Web サービス開発フレームワークのほとんどは、json をオブジェクトにマーシャリングします。POST リクエストで json フォーム パラメータを使用し、それを Java Bean オブジェクトに割り当てる必要があります。以下は、Jersey フレームワークを使用した同じメソッド コントラクトのサンプルです。

@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response sampleRestMethod(@FormParam ("jsonStringParamName") YourCorrespondingJavaBean yourCorrespondingJavaBeanObj ); 

jersey と json をコンテンツ タイプとして使用して RESTful サービスを作成する方法の詳細については、このシンプルだが非常に優れたチュートリアルに従ってください。

http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/

于 2013-07-02T05:36:57.077 に答える
0

私のクライアントの問題は、クライアントがJSONオブジェクトを投稿するように次の行を追加する必要があります

config1.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE)

POJO マッピングを ClientConfig に追加する必要があります。

于 2013-07-08T06:40:40.390 に答える