请帮助我弄清楚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
}