@JsonProperty не принимает регистр, так как в данном случае заголовок будет в нижнем регистре - PullRequest
0 голосов
/ 25 апреля 2019

1 родительский DTO

@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
public class OfferResponse {

    @JsonProperty("Id")
    private String id;
    @JsonProperty("Status")
    private String status;
    @JsonProperty("Name")
    private String name;
    @JsonProperty("Offer")
    private List<Offer> offers = null;  // child dto Offer

    }

2 Предложение DOT является дочерним по отношению к OfferResponse DTO

@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
public class Offer {

    @JsonProperty("Name")
    private String name;
    @JsonProperty("Type")
    private String type;
    @JsonProperty("Pricing")
    private List<Pricing> pricing = null;  // child dto Pricing
    @JsonProperty("Timing")
    private List<Timing> timing = null;    // child dto Timing

}

3.1 Ценообразование DTOявляется дочерним по предложению DTO

@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
public class Pricing {

    @JsonProperty("Name")  // in a response its coming name (?? why in lowercase while already given in title case
    private String name;
    @JsonProperty("Type")  // in a response its coming type (?? why in lowercase while already given in title case
    private String type;
    @JsonProperty("SKU")   //in a response its coming sku (?? why in lowercase while already given in title case
    private String sKU;

    }

3.2 // график DTO является дочерним по предложению DTO

@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
public class Schedule {

    @JsonProperty("Sample")   // in a response its coming sample (?? why in lowercase while already given in title case
    private String tier;
    @JsonProperty("Lower")

}

, но в ответ я получаю ребенкаАтрибут в нижнем регистре, в то время как я дал в Заглавном регистре в @ JsonProperty

Ответ:

  {
    "OfferResponse": {
        "Id": "1234",
        "Status": "SUCCESS",
        "Name": "Sadina",
        "Offer": [{
            "Name": "Tata Docomo",
            "Type": "PostPaid",
            "Pricing": [{
                "name": "100rs per month",
                "type": "accessory",
                "amount": "100",
                "tpu": "4321"
            }],
            "Schedule": [{
                "sample": "test for long"
            }]
        }]

    }
}

, указанный выше ответ идет, но я ищу все атрибуты теги должны быть заглавными буквами

1 Ответ

0 голосов
/ 25 апреля 2019

Вы можете использовать @JsonNaming (PropertyNamingStrategy.UpperCamelCaseStrategy.class). это будет способствовать использованию всех имен свойств в сообщении JSON.

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