Мне нужно создать новую аннотацию, которая используется для игнорирования поля в выходном файле JSON, когда переменная среды var == false
.Я пытался использовать JsonAnnotationIntrospector
, но не смог получить ожидаемый результат.
public class Vehicle {
String vehicle_name;
String vehicle_model;
//getters and setters
@MyAnnotation
public String getVehicle_model() {
return vehicle_model;
}
}
Здесь мне нужно удалить атрибут vehicle_model
, когда переменная среды var == false
.
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@JsonIgnore
public @interface MyAnnotation {
}
Это объявление моей пользовательской аннотации.Может кто-нибудь сказать мне, как мне написать часть «Интроспектора», чтобы получить необходимые мне функции?
Заранее спасибо.
Редактировать: Моя попытка JacksonAnnotationIntrospector
public class MyAnnotationIntrospector extends JacksonAnnotationIntrospector {
@Override
public boolean hasIgnoreMarker(AnnotatedMember annotatedMember) {
//need this part
}
}
И реализация ObjectMapper
составляет
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(this);