RESTEasy使用总结

RESTEasy默认值

@Consumes在未指定MediaType时的默认接收格式:

@Consumes(MediaType.MEDIA_TYPE_WILDCARD)  或者 @Consumes(MediaType.WILDCARD)

@Produces在未指定MediaType时的默认返回格式:
当方法返回的是一个Entity对象时:

@Produces(MediaType.APPLICATION_XML)

当方法返回的是String时:
@Produces(MediaType.TEXT_PLAIN)

使用总结:

>>在Jackson JSON模式下,List可以和Array对等。也就是说List可以用Array来接收,Array也可以用List来接收。

>>在Jackson JSON模式下,Map和对象也能进行同样的相互转化。

>>在纯Jettision JAXB JSON模式下,服务器代码中的方法不能使用List接收对象集合,同样也不能使用Map来接收参数,MultivaluedMap除外。如下代码是不能正常工作的。

public List<MyCustomer> JettisionList(List<MyCustomer> input) {

 >> 在Jettision JAXB JSON模式下,如果服务器代码中的方法返回的是List,则需要对List里的对象的类上加注解@XmlRootElement。

public List<Customer> getBooksMapped9() {
>>在Jettision JAXB JSON模式下,如果服务器代码中的方法想要返回List或者实休,则必需对实体类上加注解@XmlRootElement。对于List,如果不方便对List里的对象的类上加注解@XmlRootElement,则可以使用一个包装类Customers,这样就不用对Customer加任何注解。
public Customers getBooksMapped10() {
 
@XmlRootElement(name = "customers")
public class Customers {
    private List<Customer> customers;

    public List<Customer> getCustomers() {
        return customers;
    }

    public void setCustomers(List<Customer> customers) {
        this.customers = customers;
    }
}
 

猜你喜欢

转载自jerval.iteye.com/blog/2232577