Использование только @JsonIgnore во время десериализации, но не сериализация при генерации документов-развязчиков - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь игнорировать свойство при десериализации, но не при сериализации.

У меня есть свойство (specType), которое не требуется клиенту для отправки, но при этом клиент извлечения должен иметь возможность видеть это свойство. Значит, при GET они должны видеть, но при POST они не должны видеть specType.

Я попробовал следующие комбинации, но ни одна из них не сработала. Я использую Джексон-аннотон 2.9.0

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;

public class A1 {

    @JsonProperty(access = Access.READ_ONLY)
    private String specType;

    public String getSpecType() {
        return specType;
    }

    @JsonIgnore
    public void setSpecType(String specType) {
        this.specType = specType;
    }


}

==

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

public class A1 {

    @JsonIgnore
    private String specType;

    @JsonProperty("specType")
    public String getSpecType() {
        return specType;
    }

    @JsonIgnore
    public void setSpecType(String specType) {
        this.specType = specType;
    }

}

==

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(value = { "specType" }, allowGetters = true)
public class A1 {

    private String specType;

    public String getSpecType() {
        return specType;
    }

    public void setSpecType(String specType) {
        this.specType = specType;
    }

}

Я использую swagger следующих версий swagger: springfox-swagger-ui version 2.9.2 springfox-swagger2 version 2.9.2 Я что-то упустил?

...