Jersey - MessageBodyWriter找不到application / xml ArrayList(在战争中使用jersey-jaxb)

时间:2017-01-12 14:46:01

标签: rest spring-boot jaxb jersey

我有一个返回List<MyPojo>的Jersey控制器(它实际上正在返回ArrayList。我的pom包含jersey-server,所以我自动获得jersey-media-jaxb和我已经证实我的战争确实包含了这种依赖性。

端点标记为:

@Produces(value={MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})

当我点击它时没有指定accept(或使用application/json)我没有问题就回来了JSON。但是当我指定'accept = application / xml`时,我得到:

MessageBodyWriter not found for media type=application/xml, type=class java.util.ArrayList, genericType=java.util.List<MyPoJo>

不确定是否重要,但我使用的是Spring引导,但由于版本问题,我没有使用jersey starter。

更新

注意:这使用了Spring MVC,默认输出是XML。

我无法复制/粘贴方法,但这里是大纲 方法:

@Get
@Path("/since")
@Produces(value={MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public List<MyMetadata> since(){
   return callService(paramaters);
}

// The below pre-existed me
public class MyMetadata{
    private String id;

    @JsonSerialize(using=DateTimeSerializer.class)
    @JsonDeserialize(using=MyDateTimeDeserializer.class)
    private DateTime startTime;

     private List<String> ids;

     private List<OtherPojo> uuids;

     private SecurityPojo security;

     private Set<MyTuples> ads;
}

0 个答案:

没有答案