【发布时间】:2015-09-18 03:24:50
【问题描述】:
我正在通过转换现有的 Spring 3 项目来学习 Spring 4 的内容。在那个项目中,我有一个自定义查询。该查询以直接的方式获取数据,然后对查询结果进行一些繁重的编辑。 现在数据被发送给调用者。
我计划扩展 CrudRepository 以满足我的大部分简单查询需求。数据将以 HATEOAS 格式输出。
对于这个自定义查询,我认为我应该添加自定义行为(spring.io,“使用 Spring 数据存储库”,第 1.3.1 节,“将自定义行为添加到单个存储库”)。
举个例子:
@Transactional(readOnly = true)
public List<Offer> getFiltered(List<Org> orgs, OfferSearch criteria) {
List<Offer> filteredOffers = getDateTypeFiltered(criteria);
filteredOffers = applyOrgInfo(orgs, filteredOffers);
filteredOffers = applyFilterMatches(filteredOffers, criteria);
return sortByFilterMatches(filteredOffers);
}
(代码只是说明我没有进行简单的取值操作。)
如果我可以使用 getDateTypeFiltered(criteria) 的原始结果,那么我可以将其放入 CrudRepository 接口,然后 Spring 库会将输出按摩到 HATEOAS 中。但是我必须在一个实际的 Java 对象中进行按摩,而且我不知道如何告诉 Spring 获取我的输出并以我想要的输出格式发出它。
从这里到那里有简单的方法吗?或者我必须尝试在浏览器中进行过滤等操作吗?
谢谢, 杰罗姆。
【问题讨论】:
标签: spring-data spring-hateoas