Почему @XmlType propOrder влияет на порядок json? - PullRequest
0 голосов
/ 26 февраля 2019

Я развертываю WS на Wildlfy Server 8.1.0.Final со следующими зависимостями:

        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <artifactId>resteasy-validator-provider-11</artifactId>
        <artifactId>resteasy-jaxrs</artifactId>
        <artifactId>javaee-web-api</artifactId>

Можете ли вы сказать мне, почему @XmlType меняет порядок в ответе JSON?

import lombok.*;
import javax.xml.bind.annotation.*;
import java.math.BigDecimal;

@Data
@Builder
@XmlRootElement(name = "z")
@XmlAccessorType(XmlAccessType.FIELD)
@NoArgsConstructor
@AllArgsConstructor()
@XmlType(propOrder = {"a", "b", "c"})
public class Y{

    @XmlAttribute(name = "c")
    private BigDecimal c;

    @XmlAttribute(name = "b")
    private long b;

    @XmlAttribute(name = "a")
    private BigDecimal a;
}

Я хочу знать, почему использование @XmlType работает для JSON.@JsonPropertyOrder не работает для меня.: -S

1 Ответ

0 голосов
/ 02 июля 2019

Я нашел проблему.Jboss пытается использовать JsonPropertyOrder из org.codehaus.jackson, в то время как я использую com.fasterxml.jackson.annotation.

Решение состоит в том, чтобы поместить в область действия POM

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.9</version>
    <scope>provided</scope>
</dependency>
...