yo tengo una situacion asi
@Autowired private CustomerRepository repo; @RequestMapping("/") public Page<Customer> getDocuments(@Qualifier("bar") Pageable pageable, @Qualifier("foo")Pageable pageable2) { return repo.findAll(pageable,pageable2.getOffset(), pageable2.getPageSize()); }pero no funcionó bien. Mi pregunta es, ¿cómo puedo distinguir entre los valores de los parámetros?
Para lograr el escenario anterior, tuve que cambiar mi método a este:
@RequestMapping("/") public Page<Customer> getDocuments(Pageable pageable, @RequestParam(value="from", defaultValue="0") int offSet, @RequestParam(value="length", defaultValue="3") int length) { return repo.findAll(pageable, offSet, length); }Finalmente, he encontrado mi respuesta. Lo que hice fue absolutamente correcto, pero estaba pasando los parámetros incorrectos en mi URL.
En resumen, si está pasando dos Pageable, tiene que haber un @Qualifier y debe configurar su parámetro de solicitud en consecuencia.
lo que estaba pasando antes en la URL http://localhost:8080/?page=0&size=2&page=0&size=3 y la URL correcta sería http://localhost:8080/?bar_page=0&bar_size=2&foo_page=0&foo_size=3
PD: quien haya votado negativamente mi pregunta, todavía estoy enojado con él / ellos.
Creo que es una idea incorrecta pasar los frijoles Spring como argumento para descansar el recurso. Si es necesario acceder a los valores desde Bean, debe accederse dentro del recurso suponiendo que Bean ya esté inicializado.
`@Autowired repositorio privado de CustomerRepository;
@Autowired @Qualifier("bar") Pageable pageable; @Autowired @Qualifier("foo") Pageable pageable2; @RequestMapping("/") public Page<Customer> getDocuments(){ return repo.findAll(pageable,pageable2.getOffset(),pageable2.getPageSize()); }`