com.fasterxml.jackson.databind.ObjectMapper.constructType()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(10.8k)|赞(0)|评价(0)|浏览(161)

本文整理了Java中com.fasterxml.jackson.databind.ObjectMapper.constructType()方法的一些代码示例,展示了ObjectMapper.constructType()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ObjectMapper.constructType()方法的具体详情如下:
包路径:com.fasterxml.jackson.databind.ObjectMapper
类名称:ObjectMapper
方法名:constructType

ObjectMapper.constructType介绍

[英]Convenience method for constructing JavaType out of given type (typically java.lang.Class), but without explicit context.
[中]在给定类型(通常为java.lang.Class)之外构造JavaType的便捷方法,但没有显式上下文。

代码示例

代码示例来源:origin: spotify/helios

public static JavaType type(Type type) {
 return OBJECT_MAPPER.constructType(type);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
protected boolean canConvertFrom(Message<?> message, @Nullable Class<?> targetClass) {
  if (targetClass == null || !supportsMimeType(message.getHeaders())) {
    return false;
  }
  JavaType javaType = this.objectMapper.constructType(targetClass);
  AtomicReference<Throwable> causeRef = new AtomicReference<>();
  if (this.objectMapper.canDeserialize(javaType, causeRef)) {
    return true;
  }
  logWarningIfNecessary(javaType, causeRef.get());
  return false;
}

代码示例来源:origin: spring-projects/spring-framework

private JavaType getJavaType(Class<?> targetClass, @Nullable Object conversionHint) {
  if (conversionHint instanceof MethodParameter) {
    MethodParameter param = (MethodParameter) conversionHint;
    param = param.nestedIfOptional();
    if (Message.class.isAssignableFrom(param.getParameterType())) {
      param = param.nested();
    }
    Type genericParameterType = param.getNestedGenericParameterType();
    Class<?> contextClass = param.getContainingClass();
    Type type = GenericTypeResolver.resolveType(genericParameterType, contextClass);
    return this.objectMapper.getTypeFactory().constructType(type);
  }
  return this.objectMapper.constructType(targetClass);
}

代码示例来源:origin: blox/blox

@Autowired
public JacksonRequestStreamHandler(ObjectMapper mapper, RequestHandler<IN, OUT> innerHandler) {
 this.innerHandler = innerHandler;
 Map<TypeVariable<?>, Type> arguments =
   TypeUtils.getTypeArguments(innerHandler.getClass(), RequestHandler.class);
 Type inputType = arguments.get(PARAMETERS[0]);
 Type outputType = arguments.get(PARAMETERS[1]);
 this.reader = mapper.readerFor(mapper.constructType(inputType));
 this.writer = mapper.writerFor(mapper.constructType(outputType));
}

代码示例来源:origin: Activiti/Activiti

@Override
  public void validate(Object var,List<ActivitiException> errors) {

    //we can consider var json so long as it can be stored as json
    //this doesn't guarantee a string body to be valid json as jackson will wrap a string to make it valid
    //also doesn't guarantee it will be persisted as json
    //could be a pojo and then could be persisted as serializable if user sets serializePOJOsInVariablesToJson to false - see JsonType.java

    if (!objectMapper.canSerialize(var.getClass())){
      String message = var.getClass()+" is not serializable as json";
      errors.add(new ActivitiException(message));
      logger.error(message);
    }

    if (!objectMapper.canDeserialize(objectMapper.constructType(var.getClass()))){
      String message = var.getClass()+" is not deserializable as json";
      errors.add(new ActivitiException(message));
      logger.error(message);
    }
  }
}

代码示例来源:origin: swagger-api/swagger-core

private void removeSuperSubTypes(List<NamedType> resultTypes, Class<?> superClass) {
  JavaType superType = _mapper.constructType(superClass);
  BeanDescription superBean = _mapper.getSerializationConfig().introspect(superType);
  final List<NamedType> superTypes = _intr.findSubtypes(superBean.getClassInfo());
  if (superTypes != null) {
    resultTypes.removeAll(superTypes);
  }
}

代码示例来源:origin: jooby-project/jooby

public static  String name(Type type) {
 return name(Json.mapper().constructType(type));
}

代码示例来源:origin: Graylog2/graylog2-server

@GET
@Path("{configClass}")
@Produces(MoreMediaTypes.APPLICATION_SCHEMA_JSON)
@ApiOperation(value = "Get JSON schema of configuration class")
@Timed
@RequiresPermissions(RestPermissions.CLUSTER_CONFIG_ENTRY_READ)
public JsonSchema schema(@ApiParam(name = "configClass", value = "The name of the cluster configuration class", required = true)
             @PathParam("configClass") @NotBlank String configClass) {
  final Class<?> cls = classFromName(configClass);
  if (cls == null) {
    throw new NotFoundException("Couldn't find configuration class \"" + configClass + "\"");
  }
  final SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
  try {
    objectMapper.acceptJsonFormatVisitor(objectMapper.constructType(cls), visitor);
  } catch (JsonMappingException e) {
    throw new InternalServerErrorException("Couldn't generate JSON schema for configuration class " + configClass, e);
  }
  return visitor.finalSchema();
}

代码示例来源:origin: Graylog2/graylog2-server

private RetentionStrategyDescription getRetentionStrategyDescription(@ApiParam(name = "strategy", value = "The name of the retention strategy", required = true) @PathParam("strategy") @NotEmpty String strategyName) {
    final Provider<RetentionStrategy> provider = retentionStrategies.get(strategyName);
    if (provider == null) {
      throw new NotFoundException("Couldn't find retention strategy for given type " + strategyName);
    }

    final RetentionStrategy retentionStrategy = provider.get();
    final RetentionStrategyConfig defaultConfig = retentionStrategy.defaultConfiguration();
    final SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
    try {
      objectMapper.acceptJsonFormatVisitor(objectMapper.constructType(retentionStrategy.configurationClass()), visitor);
    } catch (JsonMappingException e) {
      throw new InternalServerErrorException("Couldn't generate JSON schema for retention strategy " + strategyName, e);
    }

    return RetentionStrategyDescription.create(strategyName, defaultConfig, visitor.finalSchema());
  }
}

代码示例来源:origin: Graylog2/graylog2-server

private RotationStrategyDescription getRotationStrategyDescription(String strategyName) {
    final Provider<RotationStrategy> provider = rotationStrategies.get(strategyName);
    if (provider == null) {
      throw new NotFoundException("Couldn't find rotation strategy for given type " + strategyName);
    }

    final RotationStrategy rotationStrategy = provider.get();
    final RotationStrategyConfig defaultConfig = rotationStrategy.defaultConfiguration();
    final SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
    try {
      objectMapper.acceptJsonFormatVisitor(objectMapper.constructType(rotationStrategy.configurationClass()), visitor);
    } catch (JsonMappingException e) {
      throw new InternalServerErrorException("Couldn't generate JSON schema for rotation strategy " + strategyName, e);
    }

    return RotationStrategyDescription.create(strategyName, defaultConfig, visitor.finalSchema());
  }
}

代码示例来源:origin: apache/incubator-druid

.introspect(mapper.constructType(clazz))
                          .findProperties();
for (BeanPropertyDefinition beanDef : beanDefs) {

代码示例来源:origin: swagger-api/swagger-core

@Override
  public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator<ModelConverter> chain) {
    final JavaType jType = Json.mapper().constructType(type.getType());
    if (jType != null) {
      final Class<?> cls = jType.getRawClass();
      if (cls.equals(Bar.class)) {
        return null;
      } else {
        return chain.next().resolve(type, context, chain);
      }
    } else {
      return null;
    }
  }
}

代码示例来源:origin: jooby-project/jooby

@Override
public Object parse(final TypeLiteral<?> type, final Context ctx) throws Throwable {
 MediaType ctype = ctx.type();
 if (ctype.isAny()) {
  // */*
  return ctx.next();
 }
 JavaType javaType = mapper.constructType(type.getType());
 if (matcher.matches(ctype) && mapper.canDeserialize(javaType)) {
  return ctx
    .ifparam(values -> mapper.readValue(values.iterator().next(), javaType))
    .ifbody(body -> mapper.readValue(body.bytes(), javaType));
 }
 return ctx.next();
}

代码示例来源:origin: swagger-api/swagger-core

@Override
  public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator<ModelConverter> chain) {
    if (type.isSchemaProperty()) {
      JavaType _type = Json.mapper().constructType(type.getType());
      if (_type != null) {
        Class<?> cls = _type.getRawClass();
        if (MyCustomClass.class.isAssignableFrom(cls)) {
          return new DateTimeSchema();
        }
      }
    }
    if (chain.hasNext()) {
      return chain.next().resolve(type, context, chain);
    } else {
      return null;
    }
  }
}

代码示例来源:origin: swagger-api/swagger-core

@Override
  public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator<ModelConverter> chain) {
    if (type.isSchemaProperty()) {
      JavaType _type = Json.mapper().constructType(type.getType());
      if (_type != null) {
        Class<?> cls = _type.getRawClass();
        if (MyCustomClass.class.isAssignableFrom(cls)) {
          Schema schema = new DateTimeSchema();
          super.resolveSchemaMembers(schema, type);
          return schema;
        }
      }
    }
    if (chain.hasNext()) {
      return chain.next().resolve(type, context, chain);
    } else {
      return null;
    }
  }
}

代码示例来源:origin: jooby-project/jooby

/**
 * Mostly for kotlin null safe operator and immutable properties.
 *
 * @param type Target type.
 * @param model Model.
 * @return Input model.
 */
private Model doModel(Type type, Model model) {
 Map<String, Property> properties = model.getProperties();
 if (properties != null) {
  BeanDescription desc = Json.mapper().getSerializationConfig()
    .introspect(Json.mapper().constructType(type));
  for (BeanPropertyDefinition beanProperty : desc.findProperties()) {
   Property property = properties.get(beanProperty.getName());
   if (property != null) {
    property.setRequired(beanProperty.isRequired());
   }
  }
 }
 return model;
}

代码示例来源:origin: swagger-api/swagger-core

javaType = (JavaType)type.getType();
} else {
  javaType = mapper.constructType(type.getType());

代码示例来源:origin: swagger-api/swagger-core

protected void resolveSchemaMembers(Schema schema, AnnotatedType annotatedType) {
  final JavaType type;
  if (annotatedType.getType() instanceof JavaType) {
    type = (JavaType) annotatedType.getType();
  } else {
    type = _mapper.constructType(annotatedType.getType());
  }
  final Annotation resolvedSchemaOrArrayAnnotation = AnnotationsUtils.mergeSchemaAnnotations(annotatedType.getCtxAnnotations(), type);
  final io.swagger.v3.oas.annotations.media.Schema schemaAnnotation =
      resolvedSchemaOrArrayAnnotation == null ?
          null :
          resolvedSchemaOrArrayAnnotation instanceof io.swagger.v3.oas.annotations.media.ArraySchema ?
              ((io.swagger.v3.oas.annotations.media.ArraySchema) resolvedSchemaOrArrayAnnotation).schema() :
              (io.swagger.v3.oas.annotations.media.Schema) resolvedSchemaOrArrayAnnotation;
  final BeanDescription beanDesc = _mapper.getSerializationConfig().introspect(type);
  Annotated a = beanDesc.getClassInfo();
  Annotation[] annotations = annotatedType.getCtxAnnotations();
  resolveSchemaMembers(schema, a, annotations, schemaAnnotation);
}

代码示例来源:origin: swagger-api/swagger-core

@Override
  public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator<ModelConverter> chain) {
    final JavaType javaType = _mapper.constructType(type.getType());
    if (Pair.class.isAssignableFrom(javaType.getRawClass())) {
      final JavaType left = javaType.containedType(0);
      final String name = "MapOf" + WordUtils.capitalize(_typeName(left));
      return new MapSchema()
          .name(name)
          .additionalProperties(context.resolve(new AnnotatedType(left)));
    }
    return super.resolve(type, context, chain);
  }
}

代码示例来源:origin: swagger-api/swagger-core

@Override
public Schema resolve(AnnotatedType type, ModelConverterContext context,
           Iterator<ModelConverter> chain) {
  final JavaType javaType = _mapper.constructType(type.getType());
  if (Pair.class.isAssignableFrom(javaType.getRawClass())) {
    if (!type.isSchemaProperty()) {

相关文章

微信公众号

最新文章

更多

ObjectMapper类方法