복붙노트

[SPRING] spring-data-rest에 의해 게시 된 사용자 정의 jpa 저장소 메소드

SPRING

spring-data-rest에 의해 게시 된 사용자 정의 jpa 저장소 메소드

http://docs.spring.io/spring-data/data-jpa/docs/1.0.x/reference/html/#repositories.custom-implementations에 자세히 나와있는 jpa 저장소에 맞춤 메소드를 추가했습니다.

내가 볼 수있는 한, 스프링 - 데이터 - 휴식을 사용할 때이 방법은 노출되지 않습니다. Spring-data-rest (Spring MVC Controller를 직접 만들지 않고)에 의해 생성 된 REST API의 일부로 게시 할 수있는 방법이 있습니까?

해결법

  1. ==============================

    1.나는 코드 기반을 점검했다. - 명시 적으로 사용자 정의 된 방법을 사용하지 않는 것 같다. 이유는 확실하지 않다. 다음은 org.springframework.data.repository.core.support.DefaultRepositoryInformation의 관련 코드 부분입니다.

    나는 코드 기반을 점검했다. - 명시 적으로 사용자 정의 된 방법을 사용하지 않는 것 같다. 이유는 확실하지 않다. 다음은 org.springframework.data.repository.core.support.DefaultRepositoryInformation의 관련 코드 부분입니다.

    @Override
    public 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);
    }
    
  2. from https://stackoverflow.com/questions/21116539/custom-jpa-repository-method-published-by-spring-data-rest by cc-by-sa and MIT license