JSON проблема форматирования запроса - PullRequest
0 голосов
/ 06 апреля 2020

Я написал один запрос DTO с использованием bean-компонентов. xml, я использовал аннотации @JsonPropertyOrder и @JsonProperty, как показано в bean-компонентах. xml:

<bean ...>
 <annotations>@JsonPropertyOrder({
            "FirstName",
            "LastName"
        })
        <property name="FirstName" type="java.lang.String" >
            <annotations>@JsonProperty("FirstName")</annotations>
        </property>
        <property name="LastName" type="java.lang.String" >
            <annotations>@JsonProperty("LastName")</annotations>
        </property>
</bean>

Также я использовал ObjectMapper для преобразования объекта DTO до Json строки. Но когда на самом деле json отправлено третьей стороне, я заметил:

  1. , хотя я использовал @JsonPropertyOrder, порядок элементов отличается от того, что написано.
  2. В строке запроса FirstName и LastName приходит как firstName , lastName (маленькие начальные буквы)

как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Мне кажется, что вам не хватает </annotations> в первом элементе аннотации

0 голосов
/ 06 апреля 2020

Я думаю, причина того, почему вы используете @JsonProperty, заключается в том, что имена параметров в вашем json (FirstName, LastName) отличаются от вашего java класса (firstName, lastName). Вы должны указать имя вашего параметра java в теге свойства, так:

        <property name="firstName" type="java.lang.String" >
            <annotations>@JsonProperty("FirstName")</annotations>
        </property>
        <property name="lastName" type="java.lang.String" >
            <annotations>@JsonProperty("LastName")</annotations>
        </property>
...