Весна MVC.Как Pageable на самом деле работает? - PullRequest
0 голосов
/ 17 марта 2019

Пожалуйста, помогите мне выяснить, как Spring анализирует параметры HTTP GET из запроса в объекте Pageable-suits без каких-либо дополнительных аннотаций, таких как @RequestBody, @RequestParam и т. Д.

Итак, я отправляю запрос, которыйвыглядит следующим образом: GET / questions? page = 0 & size = 2 & sort = creationAt, desc .В качестве аргумента метода getQuestions я получаю объект, состоящий из трех полей, таких как страница, размер, сортировка.Но как эта магия на самом деле работает?

@RestController
public class QuestionController {

    @Autowired
    private QuestionRepository questionRepository;

    @GetMapping("/questions")
    public Page<Question> getQuestions(Pageable pageable) {
        return questionRepository.findAll(pageable);
    }


    @PostMapping("/questions")
    public Question createQuestion(@Valid @RequestBody Question question) {
        return questionRepository.save(question);
    }

    // other restful methods
}
...