Spring MVC。 Pageable实际如何工作?

时间:2019-03-17 09:40:52

标签: java spring spring-mvc pagination

请帮助我弄清楚Spring如何将HTTP GET参数从请求解析为适合Pageable的对象,而没有@ RequestBody,@ RequestParam等其他注释。

因此,我发送了一个如下所示的请求: GET / questions?page = 0&size = 2&sort = createdAt,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
}

0 个答案:

没有答案