5

我有一个 JAX-RS API,我正在为它生成 wadl。

<application ....
    ..
    <request>
        <representation mediaType="application/xml"/>
    </request>
..
</application>

但我想向它添加元素来表示。

<application ....
    ..
    <request>
        <representation mediaType="application/xml" element="prefix1:thebook"/>
    </request>
    ..
</application>

thebook应该出现在语法中。

我的服务:

@Path("/update/book")
@POST
@Produces({MediaType.APPLICATION_JSON})
@ElementClass(request = Book.class)
@Consumes({MediaType.APPLICATION_XML})
String updateBook(Book book);

图书.java

@XmlRootElement(name = "inventoryBean")
public class Book {
    private Long name;
    private Long id;

    // getters and setters
} 
4

1 回答 1

6

必须在某处声明一个命名空间,无论是在 @XmlRootElement其本身还是在包级注释中,请添加它,您应该会看到到模式元素的正确链接;
在这种情况下@XmlRootElement(name = "inventoryBean", namespace = "bean")应该做的工作。

于 2013-10-28T10:45:11.187 回答