Comment appliquer le Printemps des Données de projections, au Printemps de contrôleurs MVC?

Est-il possible de spécifier projection lors de l'appel de référentiel de données méthode directement? Voici référentiel de code - remarque, je ne voudrais pas exposer via REPOS, au lieu je voudrais être en mesure d'appeler à partir d'un service ou d'un contrôleur:

@RepositoryRestResource(exported = false)
public interface UsersRepository extends PagingAndSortingRepository<User, Long> {

    @Query(value = "SELECT u FROM User u WHERE ....")
    public Page<User> findEmployeeUsers(Pageable p);
}

Puis dans un contrôleur, je fais ceci:

@PreAuthorize(value = "hasRole('ROLE_ADMIN')")
@RequestMapping(value = "/users/employee")
public Page<User> listEmployees(Pageable pageable) {
    return usersRepository.findEmployeeUsers(pageable);
}

Est-il un moyen de spécifier projection pour findEmployeeUsers méthode lorsqu'il est appelé directement, comme ci-dessus?

Je me rends compte que le code ci-dessus peut paraître bizarre pour quelqu'un... il serait possible d'exposer le référentiel via le REPOS et mettre le @PreAuthorize chose dans le référentiel. La pensée contrôleur est le plus bon endroit pour faire des vérifications de sécurité - il est plus naturelle et plus simple à tester.

Donc, peut projection chose d'une certaine manière, dans un référentiel méthode appelée directement?

InformationsquelleAutor Barbadoss | 2015-03-31