Я хочу вернуть XML
ответ подмножества сущностей.Я использую JAXB
вместе с интерфейсом проекции и Spring JPA
.Моя сущность:
@Entity
@Table(name = Constants.ENTITY_TABLE_PREFIX + "ENTRY")
public class Entry implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "customer", nullable = true)
private String customer;
@Column(name = "ip_address", nullable = false)
private String ip_address;
/* Constructors, setters, getters */
}
Теперь мой репозиторий EntryDAO
Класс:
//This is an example for a Spring Data JPA repository
@RepositoryRestResource(exported = false)
public interface EntryDAO extends JpaRepository<Entry, Long> {
@Query("SELECT distinct e.customer as name from Entry e")
public List<CustomerDto> findCustomer();
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public interface CustomerDto {
@XmlAttribute
public String getName();
}
}
и конечная точка:
@RestController
public class EntryXMLEndpoint {
@Autowired
private IEntryXMLService service;
@RequestMapping(value = "/restxml", produces = { "application/xml" })
public CustomerDto findCustomers() {
List<CustomerDto> o = service.findCustomer();
CustomerDto record = o.get(0);
return record;
}
}
Работает нормально, если я выбираювернуть ответ json, но при создании xml выдает "XML Parsing Error: element not found error"
.Любой отзыв будет полезен.