@JsonIgnore не работает в другой среде - PullRequest
0 голосов
/ 27 января 2020

Это класс бинов, в котором я использую @JsonIgnore. Мой тестовый пример пройден, и я не вижу catColor в JSON в локальной среде, но в среде Dev я все еще могу видеть catColor в JSON. Пожалуйста, дайте мне знать, если мне нужно внести какие-либо изменения в код или я должен проверить что-либо в среде.

JSON:

{"catName":"","catEyes":"","catDetails":"","catColor":"" }  

CatBean. java

   import com.fasterxml.jackson.annotation.JsonIgnore;

   @XmlRootElement
   @SuppressWarnings("PMD")
   public class CatBean {

       private String catName;
       private String catEyes;
       private String catDetails;


       public String getCatName(){
           return catName;
       } 

       public void setCatName(String catName){
           this.catName=catName;
       } 

       public String getCatEyes(){
           return catEyes;
       } 

       public void setCatEyes(String catEyes){
           this.catEyes=catEyes;
       } 

       public String getCatDetails(){
           return catDetails;
       } 

       public void setCatDetails(String catDetails){
           this.catDetails=catDetails;
       } 

       @JsonIgnore
       public String getCatColor() {  
           return getCatDetails(catColor);   
       }    
  }

CatDetails. java


    public class CatDetails {

        private String name;
        private String value;


        public String getName() {
           return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getValue() {
            return value;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    build.gradle ( Gradle imports)

    compile 'com.fasterxml.jackson.core:jackson-databind:2.9.9.1'
    compile 'com.fasterxml.jackson.core:jackson-core:2.9.9'
    compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.9'

У меня нет поля, определенного как catColor. Я использую Java 7 и Gradle 4.10.3 как в локальной системе, так и в Dev.

Она работает в локальной сети, но не работает в Dev. Я написал контрольный пример JUNIT для проверки JSON.

(контрольный пример проверки JSON в процессе создания)

    @Test
    public void testJsonResponseNotContainingCardPresent() throws HostAuthException, ISOParseException, ParseException, IOException {

        CatBean catBean= new CatBean();
        ObjectMapper mapper = new ObjectMapper();
        String catBeanAsString = Mapper.writeValueAsString(catBean);     

        assertThat(requestBeanAsString,not(containsString("catColor")));

    }


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...