JAX-RS недостающие параметры (сложный тип) в запросе и ответе - PullRequest
0 голосов
/ 07 сентября 2018

Я использую JAX-RS для создания файла WADL. Основная проблема заключается в том, что при использовании сложного типа (Ergebnis) в сгенерированном файле WADL детали запроса отсутствуют. Когда я изменяю сложные типы Ergebnis и Anfrage в простых типах, таких как String, результат получается ожидаемым. Мой код можно увидеть ниже.

Мне пришлось значительно сократить мой код, чтобы описать мою проблему в сжатой форме. Надеюсь, я не испортил и не напечатал несколько ошибок. Я надеюсь, что кто-то может мне помочь.

@POST
@Path("/testpfad")
@Produces(MT_JSON)
@Consumes(MT_JSON)
@Descriptions({ @Description(value = "Testbeschreibung", target = DocTarget.METHOD) })
Ergebnis testMethod(@NotNull Anfrage anfrage)

@XmlRootElement
@Doc(value = "Beschreibung")
public class Ergebnis {

    @Doc("Beschreibung")
    private boolean test

    public boolean isTest() {
        return test
    }

    public void setTest(final boolean test) {
        this.test = test
    }
}

Anfrage похож на Ergebnis.

Созданный WADL-файл:

<application>
    <grammars>
        <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified">
            <xs:element name="Anfrage" type="Anfrage"/>
            <xs:element name="Ergebnis" type="Ergebnis"/>
            <xs:complexType abstract="true" name="Anfrage">
                <xs:sequence>
                    <xs:element name="test" type="xs:boolean"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType abstract="true" name="Ergebnis">
                <xs:sequence>
                    <xs:element name="test" type="xs:boolean"/>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
    </grammars>
    <resources base="http://localhost:8080/test">
        <resource path="/">
            <resource path="testpfad">
                <method name="POST">
                    <doc>Beschreibung</doc>
                    <request>
                        <representation mediaType="application/json"/>
                    </request>
                    <response>
                        <representation mediaType="application/json"/>
                    </response>
                </method>
            </resource>
        </resource>
    </resources>
</application>
...