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)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 玛纳斯县| 灯塔市| 旬邑县| 屏边| 且末县| 重庆市| 镇赉县| 田阳县| 吉木萨尔县| 柳江县| 贵阳市| 嘉黎县| 和田市| 康保县| 桦甸市| 阿拉善右旗| 仙居县| 张家港市| 鱼台县| 永春县| 新巴尔虎左旗| 乾安县| 双城市| 临猗县| 玉树县| 兴义市| 涞水县| 拉萨市| 宁德市| 沙田区| 越西县| 木兰县| 巴东县| 杭锦旗| 宁德市| 岳阳市| 陆河县| 仁怀市| 锦屏县| 察雅县| 甘洛县|