如何检索 JHipster API 上实体的所有实例

How to retrieve all instances on the JHipster API for entities

当使用分页器调用生成的 api 时,有什么方法可以调用生成的 REST-api 来检索对象的所有实例,仅取前 20 个实例, 30,40 等等?

我发现,由于我在实体创建和管理中使用分页,当我想在其他视图(自行创建)中使用这些实体时,API 不会提供所有实例在 angular/js.

中调用 entity.query()

这是对 JHipster 的限制吗,或者我可以用任何其他方式调用 REST-API 提供信息以丢弃分页器吗?

您可以修改该实体的现有休息控制器。这是一个带有 Center 实体的示例。

我return所有中心如果没有偏移和限制值。

@RequestMapping(value = "/centers",
        method = RequestMethod.GET,
        produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public ResponseEntity<List<Center>> getAll(@RequestParam(value = "page" , required = false) Integer offset,
                              @RequestParam(value = "per_page", required = false) Integer limit)
    throws URISyntaxException {
    if(offset == null && limit == null) {
        return new ResponseEntity<List<Center>>(centerRepository.findAll(), HttpStatus.OK);
    } else {
        Page<Center> page = centerRepository.findAll(PaginationUtil.generatePageRequest(offset, limit));
        HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/centers", offset, limit);
        return new ResponseEntity<List<Center>>(page.getContent(), headers, HttpStatus.OK);
    }
}

然后在angular中,你只需要不带参数调用Center.query();

这是一个老问题,但对于任何正在寻找简单解决方案的人来说。您需要覆盖默认的 PageableHandlerMethodArgumnetResolver bean:

@Configuration
public class CustomWebConfigurer implements WebMvcConfigurer {
    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
        resolver.setFallbackPageable(Pageable.unpaged());
        argumentResolvers.add(resolver);
    }
}