如何从Spring MVC Controller返回Page <myentity>的XML表示?</myentity>

时间:2014-07-10 12:55:56

标签: xml rest spring-mvc spring-data spring-boot

鉴于 spring-data 存储库扩展PagingAndSortingRepository<MyEntity, Long>, 我想将 spring-mvc控制器中的存储库方法Page<T> findAll(Pageable pageable);的结果作为 XML 返回。

控制器如下所示:

@RequestMapping(method = RequestMethod.GET, produces = {MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_JSON_VALUE})
public HttpEntity<Page<MyEntity>> getAll(Pageable pageable) {
    Page<MyEntity> all = myEntityRepository.findAll(pageable);
    return new ResponseEntity<>(all, HttpStatus.OK);
}

然而,当用Accept: application/xml调用控制器时,我得到了

  

错误406不可接受

更改为Accept: application/json时,一切正常。

将单个MyEntity实例作为XML返回也可以正常工作,所以我非常确定,这不是类路径上缺少libs的问题。

如何返回XML表示?

1 个答案:

答案 0 :(得分:0)

我猜你可以创建自己的Page实现并添加JAXB注释。