Добавьте простые проверки в Java JSON POJO - PullRequest
1 голос
/ 03 августа 2020

Я создал сервлет, который принимает запрос POST. Полезные данные этого запроса POST содержат объект JSON следующего вида -

{
    "subscription": {
        "metadata": {
            "id": "aA.com",
            "subscriptionPref": "Subs",
            "category": "cat",
            "isSubscribed": true,
            "source": "form"
        }
    }
}

Я создал Java POJO для сопоставления этого объекта JSON с объектом Java -

package components.core.models.subscription;

import java.util.HashMap;
import java.util.Map;

public class SubscriptionPojo {

    private Subscription subscription;
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    public Subscription getSubscription() {
        return subscription;
    }

    public void setSubscription(Subscription subscription) {
        this.subscription = subscription;
    }

    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}

package components.core.models.subscription;

import java.util.HashMap;
import java.util.Map;

public class Subscription {

    private Metadata metadata;
        private Map<String, Object> additionalProperties = new HashMap<String, Object>();
    
        public Metadata getMetadata() {
            return metadata;
        }
    
        public void setMetadata(Metadata metadata) {
            this.metadata = metadata;
        }
    
        public Map<String, Object> getAdditionalProperties() {
            return this.additionalProperties;
        }
    
        public void setAdditionalProperty(String name, Object value) {
            this.additionalProperties.put(name, value);
        }
    
    }
    
    package components.core.models.subscription;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class Metadata {
        private String id;
        private String subscriptionPref;
        private String category;
        private Boolean isSubscribed;
        private String source;
        private Map<String, Object> additionalProperties = new HashMap<String, Object>();
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getSubscriptionPref() {
            return subscriptionPref;
        }
    
        public void setSubscriptionPref(String subscriptionPref) {
            this.subscriptionPref = subscriptionPref;
        }
    
        public String getCategory() {
            return category;
        }
    
        public void setCategory(String category) {
            this.category = category;
        }
    
        public Boolean getIsSubscribed() {
            return isSubscribed;
        }
    
        public void setIsSubscribed(Boolean isSubscribed) {
            this.isSubscribed = isSubscribed;
        }
    
        public String getSource() {
            return source;
        }
    
        public void setSource(String source) {
            this.source = source;
        }
    
        public Map<String, Object> getAdditionalProperties() {
            return this.additionalProperties;
        }
    
        public void setAdditionalProperty(String name, Object value) {
            this.additionalProperties.put(name, value);
        }
    
    }

Вот как я сопоставляю json с java объектом -

ObjectMapper mapper = new ObjectMapper();
            SubscriptionPojo subscriptionPojo = mapper.readValue(requestJSON.toString(), SubscriptionPojo.class);

Я хотел бы добавить очень базовые c и простые проверки для этих классов POJO. Например, я хотел бы проверить id по регулярному выражению или проверить source по набору значений. Как мне это сделать? Есть ли уроки, которым я могу следовать?

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