如何对同一方法进行多个REST调用

时间:2018-10-30 03:08:03

标签: java spring-rest

我有一个要求,我需要从Spring REST方法返回对象列表。 但是,我需要将这些对象除以100。例如,如果响应对象超过400,则该方法应调用5次,并且每次需要发送100个对象时。

如何实现此方案?如何显式调用同一方法?有可能吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

您要查找的术语是分页。示例之一(enter image description here):

@RestController
class PersonController {

    final PersonService personService

    @Autowired
    PersonController( PersonService personService ){
        this.personService = personService
    }

    @RequestMapping(value="/persons",method=RequestMethod.GET)
    Page<Person> list( Pageable pageable){
        Page<Person> persons = personService.listAllByPage(pageable)
        persons
    } 
}

/persons?page=0&size=3将从数据库中返回一批前3个人。 /persons?page=1&size=3将返回下一批。

请注意,我们尚未将RequestParams传递给处理程序方法。命中端点/persons?page=0&size=3时,Spring将自动解析 page size 参数并创建一个 Pageable 实例。然后,我们将该 Pageable 实例传递给Service层,然后将其传递给我们的Repository层。