SpringBoot:Get方法未生成预期的XML元素

时间:2020-05-29 17:48:27

标签: xml spring-boot jaxb spring-restcontroller

我有一个使用Spring Boot实现的REST服务,该服务返回对象列表。响应为XML类型

@RequestMapping(value = "/member/products/{memberNumber}", produces = {
      "application/xml", "text/xml"})
public List<MemberProduct> getMemberProducts
      (@PathVariable String memberNumber,
          @RequestHeader(USER_CONTEXT_HEADER_PARAM) String userContext) {
    validateUserContext(userContext);
    return repository.findByMemberNumber(memberNumber)
        .map(member -> {
          return member.getMemberProducts();
        })
        .orElseThrow(() ->
            new MemberNotFoundException(memberNumber));
  }

我期望的响应XML格式

<MemberProducts>
  <MemberProduct>Value1</MemberProduct>
  <MemberProduct>Value2</MemberProduct>
</MemberProducts>

但是我得到的是以下格式的回复

<List>
   <Item>Value1</Item>
   <Item>Value2</Item>
</List>

Member类还有其他方法,例如memberTaxDetailsmemberAddressesmemberContactDetails。检索Member对象时,我可以看到预期的Member产品。这仅发生在Collection对象上。有没有办法控制正确的格式?

0 个答案:

没有答案