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

Angularjs 如何在JHipster API上检索实体的所有实例,angularjs,spring-boot,jhipster,Angularjs,Spring Boot,Jhipster,在使用分页器时调用生成的api时,是否有任何方法可以调用生成的REST api来检索对象的所有实例,而不是仅检索前20、30、40等 我发现,由于我在实体创建和管理中使用分页,当我想在其他视图(自行创建)中使用这些实体时,API在/js中调用entity.query()时并没有提供所有实例 这是对JHipster的限制,还是我可以通过提供信息的任何其他方式调用REST-API来丢弃分页器?您可以修改该实体的现有REST控制器。下面是一个带有中心实体的示例 如果“偏移”和“限制”没有值,则返回所有

在使用分页器时调用生成的api时,是否有任何方法可以调用生成的REST api来检索对象的所有实例,而不是仅检索前20、30、40等

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


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

您可以修改该实体的现有REST控制器。下面是一个带有
中心
实体的示例

如果“偏移”和“限制”没有值,则返回所有中心

@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);
    }
}
@RequestMapping(value=“/centers”,
method=RequestMethod.GET,
products=MediaType.APPLICATION\u JSON\u值)
@定时
public ResponseEntity getAll(@RequestParam(value=“page”,required=false)整数偏移量,
@RequestParam(value=“per_page”,required=false)整数限制)
抛出URISyntaxException{
如果(偏移量==null&&limit==null){
返回新的响应属性(centerRepository.findAll(),HttpStatus.OK);
}否则{
Page Page=centerRepository.findAll(PaginationUtil.generatePageRequest(偏移量,限制));
HttpHeaders headers=PaginationUtil.generatePaginationHttpHeaders(第页“/api/centers”,偏移量,限制);
返回新的响应属性(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);
    }
}
@配置
公共类CustomWebConfigure实现WebMVCConfiguer{
@凌驾
public void addArgumentResolver(列出ArgumentResolver){
PageableHandlerMethodArgumentResolver解析器=新的PageableHandlerMethodArgumentResolver();
resolver.setFallbackPageable(Pageable.unpaged());
ArgumentResolver.add(解析器);
}
}

这是可行的,但我觉得JHipster应该将其作为默认设置。如果我使用实体管理器重新创建我的实体,那么我会放弃这些更改:/n如果你想保留你所做的,使用VCS跟踪更改,并最终还原它们。我认为Jhipster默认情况下不应该有这些更改。通过在生成器请求时选择分页,您不希望用户能够一次性获得所有实例。假设您有数百万个实例。是否可以从客户端执行此操作?我是说安格拉斯?我也有同样的问题,但我正试图从客户端解决它