java學習

          java學習

           

          jersey面向資源開發5

          前端傳遞json數據,配置第一種方法
          <!-- media type -->
          <dependency>
          <groupId>org.glassfish.jersey.media</groupId>
          <artifactId>jersey-media-moxy</artifactId>
          <version>${jersey.version}</version>
          </dependency>
          @ApplicationPath("/webapi/*")
          public class AirResourceConfig extends ResourceConfig {
              public AirResourceConfig() {
               //   packages("com.example.resource");   
                  register(BookResource.class);
              }
          }
          前端傳遞json數據,配置第二種方法
            <!-- media type -->
                  <dependency>
                      <groupId>org.glassfish.jersey.media</groupId>
                      <artifactId>jersey-media-json-jackson</artifactId>
                      <version>${jersey.version}</version>
                  </dependency>
          @ApplicationPath("/api/*")
          public class JsonResourceConfig extends ResourceConfig {
              public JsonResourceConfig() {
                  register(BookResource.class);
                  register(JacksonFeature.class);
                  register(JsonContextProvider.class);
              }
          }
          @Provider
          public class JsonContextProvider implements ContextResolver<ObjectMapper> {
              final ObjectMapper d;
              final ObjectMapper c;
              public JsonContextProvider() {
                  d = createDefaultMapper();
                  c = createCombinedMapper();
              }
              private static ObjectMapper createCombinedMapper() {
                  Pair ps = createIntrospector();
                  ObjectMapper result = new ObjectMapper();
                  //result.configure(Feature.WRAP_ROOT_VALUE, true);
                  //result.configure(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE, true);
                  result.setDeserializationConfig(result.getDeserializationConfig().withAnnotationIntrospector(ps));
                  result.setSerializationConfig(result.getSerializationConfig().withAnnotationIntrospector(ps));
                  return result;
              }
              private static ObjectMapper createDefaultMapper() {
                  ObjectMapper result = new ObjectMapper();
                  result.configure(Feature.INDENT_OUTPUT, true);
                  return result;
              }
              private static Pair createIntrospector() {
                  AnnotationIntrospector p = new JacksonAnnotationIntrospector();
                  AnnotationIntrospector s = new JaxbAnnotationIntrospector();
                  return new Pair(p, s);
              }
              @Override
              public ObjectMapper getContext(Class<?> type) {
                  if (type == JsonHybridBook.class) {
                      return c;
                  } else {
                      return d;
                  }
              }
          }

          posted on 2017-07-31 17:44 楊軍威 閱讀(135) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 祁阳县| 靖安县| 泉州市| 桃源县| 金寨县| 安庆市| 新巴尔虎左旗| 广东省| 桦南县| 百色市| 苏尼特右旗| 岑巩县| 高邮市| 嘉禾县| 太康县| 鹤山市| 格尔木市| 本溪| 武邑县| 化德县| 时尚| 乌鲁木齐市| 历史| 京山县| 依兰县| 扬州市| 托里县| 百色市| 新河县| 拜城县| 永仁县| 罗江县| 黑山县| 惠水县| 鄂尔多斯市| 疏附县| 准格尔旗| 黄冈市| 扎囊县| 沙田区| 河曲县|