Я хочу, чтобы получить данные из CrudRepository
для RestResource
с помощью JPA Query:основной Spring Security не может быть найден из SPEL
public interface IContactRepository extends PagingAndSortingRepository<Contact, Long> {
@Query("select contact from Contact contact where contact.owner.login = ?#{principal.username}")
@RestResource(path = "my")
List<Contact> findByOwner();
}
Но я получаю это:
Свойство или поле «основной» не может можно найти на объекте типа 'java.lang.Object []' - может быть, не публично?
можно получить непосредственно принципал:
SecurityContextHolder.getContext().getAuthentication().getPrincipal()
, но мне нужно это внутри интерфейса, чтобы получить прямой доступ к RestResource
.
См. Здесь. Loks, как будто вам нужна конфигурация, чтобы включить это. https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions#spel-evaluationcontext-extension-model –