zoukankan      html  css  js  c++  java
  • Jersey(1.19.1)

    Since a resource is represented as a Java type it makes it easy to configure, pass around and inject in ways that is not so intuitive or possible with other client-side APIs.

    The Jersey Client API reuses many aspects of the JAX-RS and the Jersey implementation such as:

    1. URI building using UriBuilder and UriTemplate to safely build URIs;
    2. Support for Java types of representations such as byte[]StringInputStreamFileDataSource and JAXB beans in addition to Jersey specific features such as JSON support and MIME Multipart support.
    3. Using the builder pattern to make it easier to construct requests.

    Some APIs, like the Apache HTTP client or java.net.HttpURLConnection, can be rather hard to use and/or require too much code to do something relatively simple.

    This is why the Jersey Client API provides support for wrapping HttpURLConnection and the Apache HTTP client. Thus it is possible to get the benefits of the established implementations and features while getting the ease of use benefit.

    It is not intuitive to send a POST request with form parameters and receive a response as a JAXB object with such an API. For example with the Jersey API this is very easy:

    Form f = new Form();
    f.add("x", "foo");
    f.add("y", "bar");
    
    Client c = Client.create();
    WebResource r = c.resource("http://localhost:8080/form");
    
    JAXBBean bean = r.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
                  .accept(MediaType.APPLICATION_JSON_TYPE)
                  .post(JAXBBean.class, f);

    In the above code a Form is created with two parameters, a new WebResource instance is created from a Client then the Form instance is POSTed to the resource, identified with the form media type, and the response is requested as an instance of a JAXB bean with an acceptable media type identifying the Java Script Object Notation (JSON) format. The Jersey client API manages the serialization of the Form instance to produce the request and de-serialization of the response to consume as an instance of a JAXB bean.

    If the code above was written using HttpURLConnection then the developer would have to write code to serialize the form sent in the POST request and de-serialize the response to the JAXB bean. In addition further code would have to be written to make it easy to reuse the same resource “http://localhost:8080/form” that is encapsulated in the WebResource type.

  • 相关阅读:
    SQL语句集(转)
    Oracle 数据库 for update / for update nowait 的区别
    XML 关键字
    JAVA 操作 DBF 文件数据库
    Hibernate 懒加载和 Json 序列化冲突
    MYSQL 语法大全自己总结的
    php-laravel中间件使用
    php-表单验证
    php-laravel安装与使用
    iOS 关于权限设置的问题
  • 原文地址:https://www.cnblogs.com/huey/p/5400919.html
Copyright © 2011-2022 走看看