Spring-Data-Rest发布的自定义JPA存储库方法
据我所知,当我使用spring-data-rest时,此方法没有公开。有什么方法可以将其发布为spring-data-rest生成的REST API的一部分(无需自己创建Spring MVC Controller)?
回答:
我检查了代码库-似乎他们已明确禁用了自定义方法-不知道为什么。这是来自org.springframework.data.repository.core.support.DefaultRepositoryInformation的相关代码
@Overridepublic Set<Method> getQueryMethods() {
Set<Method> result = new HashSet<Method>();
for (Method method : getRepositoryInterface().getMethods()) {
method = ClassUtils.getMostSpecificMethod(method, getRepositoryInterface());
if (isQueryMethodCandidate(method)) {
result.add(method);
}
}
return Collections.unmodifiableSet(result);
}
/**
* Checks whether the given method is a query method candidate.
*
* @param method
* @return
*/
private boolean isQueryMethodCandidate(Method method) {
return isQueryAnnotationPresentOn(method) || !isCustomMethod(method) && !isBaseClassMethod(method);
}
以上是 Spring-Data-Rest发布的自定义JPA存储库方法 的全部内容, 来源链接: utcz.com/qa/397401.html