[SPRING] Spring 데이터 REST : MongoDB 저장소에 대한 커스텀 질의
SPRINGSpring 데이터 REST : MongoDB 저장소에 대한 커스텀 질의
스프링 가이드에서 사용자 정의 쿼리를 작성하려고합니다 : 참조 4.4 사용자 정의 구현에 따라 REST를 사용하여 MongoDB 데이터에 액세스합니다. 하지만 내 사용자 지정 방법은 저장소의 REST 인터페이스 (/ user / search)에서 사용할 수 없습니다.
(예 : 브라우저에서 localhost : 8080 / user / search / GetByKidsAge? age = 1을 찾을 수 없음)
누군가 나를 알아 내고 제안을 해 줄 수 있을까요? 고마워요 !!
아래는 내 코드입니다.
UserRepositoryCustom.java
public interface UserRepositoryCustom {
public List<User> GetByKidsAge(@Param("age") int age);
}
UserRepositoryImpl.java
public class UserRepositoryImpl implements UserRepositoryCustom {
@Override
public List<User> GetByKidsAge(int age) {
return /*perform query*/;
}
}
UserRepository.java
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {
List<User> findByLastName(@Param("name") String name);
}
해결법
-
==============================
1.이는 의도적으로 설계된 동작입니다. 수동으로 저장소 메소드 구현을 시작하자마자 GET 또는 POST가 옳은 HTTP 메소드인지 여부를 알 수 없다. 실행 방법은 멱등수인지 여부에 따라 다르다.
이는 의도적으로 설계된 동작입니다. 수동으로 저장소 메소드 구현을 시작하자마자 GET 또는 POST가 옳은 HTTP 메소드인지 여부를 알 수 없다. 실행 방법은 멱등수인지 여부에 따라 다르다.
따라서 사용자 정의 컨트롤러를 구현하고 적절한 HTTP 메소드를 사용하여 이러한 메소드를 노출하는 방법이 있습니다. 즉, 추적기에 이러한 메소드가 노출되어야하는 방식을 정의하는 수단을 제공하는 티켓이 있습니다.
from https://stackoverflow.com/questions/23197207/spring-data-rest-custom-query-for-mongodb-repository by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring RestTemplate는 get리스트를 보냅니다. (0) | 2019.05.13 |
---|---|
[SPRING] Eclipse에서 applicationcontext.xml을 구성하는 방법 (0) | 2019.05.13 |
[SPRING] Hibernate core 5.2.1 로의 마이그레이션 java.lang.NoSuchMethodError : org.hibernate.Session.getFlushMode () Lorg / hibernate / FlushMode; (0) | 2019.05.13 |
[SPRING] @RequestBody를 사용하여 JSON을 Enum 유형으로 변환 (0) | 2019.05.13 |
[SPRING] 런타임시 @Value로 주석 된 업데이트 필드 (0) | 2019.05.13 |