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

我的客户端出现问题我必须添加以下行以使客户端发布 JSON 对象

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

必须将 POJO 映射添加到 ClientConfig。

于 2013-07-08T06:40:40.390 回答
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 回答