Jersey Client Post Beanパラメータ

2829 ワード

コード:
    public static void main(String[] args) {

            Student st = new Student("Adriana", "Barrer", 12, 9);
            ClientConfig clientConfig = new DefaultClientConfig();
            clientConfig.getFeatures().put(
                    JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
            Client client = Client.create(clientConfig);
            WebResource webResource = client
                    .resource("http://localhost:8080/JerseyJSONExample/rest/jsonServices/send");
            ClientResponse response = webResource.accept("application/json")
                    .type("application/json").post(ClientResponse.class, st);
            if (response.getStatus() != 200) {
                throw new RuntimeException("Failed : HTTP error code : "
                        + response.getStatus());
            }
            String output = response.getEntity(String.class);
            System.out.println("Server response .... 
"); System.out.println(output); }

リソース内のコード:
    @POST
    @Path("/send")
    @Consumes(MediaType.APPLICATION_JSON)
    public Response consumeJSON( Student student ) {
        System.out.println("student :"+student);
        System.out.println("student content:"+student.getFirstName());
        String output = student.toString();

        return Response.status(200).entity(output).build();
    }

エンティティbeanにはデフォルトの空のコンストラクタが必要です.