2015-04-29 26 views
5

Hem this hem de this question'a baktım. Ancak yine de bir havuz yöntemi için çağrı ayarlayamadım. Bir hatadan etkilenip etkilenmediğimi veya doğru yazamadığımı bilmiyorum. Temel olarak, birisinin @RepositoryRestResource ek açıklaması yoluyla dışa aktarılan bir depo yöntemiyle nasıl çağrı yapılacağına dair bir örnek sunabilir mi diye soruyorum.Yay önyükleme: Bir @RepositoryRestResource üzerinde sayfalandırma nasıl yapılandırılır?

sayfalama

@RepositoryRestResource(collectionResourceRel = "users", path = "users") 
public interface UserRepository extends JpaRepository<User, Long> { 

    Page<User> findByUserGroup(@Param("userGroup") String userGroup, 
              @Param("page") Pageable pageable); 

} 

Offending method public abstract org.springframework.data.domain.Page com.project.repository.UserRepository.findByUserGroup(java.lang.String,java.awt.print.Pageable) 

Ben de o zaman bu hata ile sonuçlandı sayfalanabilir yöntemi param çıkarmadan denedim kod tarafından oluşturulan hata mesajı sağlanmasını Benim girişimi:

Caused by: java.lang.IllegalArgumentException: Either use @Param on all parameters except Pageable and Sort typed once, or none at all! 

Bağımlılıklar Bu projede kullanıyorum.

  1. Oracle Java 8.
  2. "org.springframework.boot: yaylı-önyükleme gradle-plug-in: 1.2.3.RELEASE",
  3. "org.springframework.boot: yay önyükleme marş -web "
  4. "org.springframework.boot: yay çizme-marş-aktüatör",
  5. 'org.springframework.boot: yay çizme-marş-posta',
  6. " org.springframework. önyükleme: yay önyükleme-starter-thymeleaf ",
  7. " org.spr ingframework.boot: Yay-çizme-marş-güvenlik "
  8. "org.springframework.security.oauth: bahar-security-OAuth2: 2.0.0.RC2",
  9. " org.springframework.boot: yaylı önyükleme marş-veri-JPA",
  10. "org.springframework.boot: yay çizme-marş-veri-dinlenme", Herhangi bir yardım büyük takdir

.

Güncelleme: bunun nasıl merak başkası için referans olarak bu ekleme nihai çözüm

. Ana fark, seçilen cevapta belirtildiği gibi doğru Pageable nesnesini almam gerektiğiydi.

@RepositoryRestResource(collectionResourceRel = "users", path = "users") 
public interface UserRepository extends JpaRepository<User, Long> { 

    Page<User> findByUserGroup(@Param("userGroup") String userGroup, Pageable pageable); 

} 

cevap

11

Yanlış paketinden sayfalanabilir sınıfını kullanıyorsunuz: java.awt.print.Pageable. org.springframework.data.domain.Pageable

+0

geçmesi lütfen! Tam olarak sorun buydu. Teşekkürler! :) – thunki

0

Kullanmanız gerekir. Aşağıdaki kod snippet'ine bakın. kapsamlı bir örnek için

public interface NotebookRepository extends PagingAndSortingRepository<Notebook, Long> { 

Doğru tespit bu blog

+0

Bu çözüm işe yarıyorsa lütfen bloguma giden kullanıcıları görebilirim. – shaILU

+0

onlar blogunuzun düzeni ve yazı tipi kod okumak neredeyse imkansız kılar ... – vratojr

İlgili konular