【发布时间】:2017-07-12 19:56:46
【问题描述】:
我只是为我的应用实现 REST 端点,我不确定哪种方式是最佳实践。
我以这种方式获取所有实体
@GetMapping("/offers")
@Timed
public ResponseEntity<List<Offer>> getAllOffers(@ApiParam Pageable pageable)
throws URISyntaxException {
log.debug("REST request to get a page of Offers");
Page<Offer> page = offerService.findAll(pageable);
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/offers");
return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
}
但是我应该怎么做,例如,如果我只想要某些特定 projectId 的报价。
@Query("FROM Offer o WHERE o.project.id = :projectId")
List<Offer> findAllByProject(@Param("projectId") Long projectId);
Q1 这个存储库调用的 REST 方法应该是什么样的?什么是正确的映射路径或参数插入。
Q2如果我想创建更复杂的查询怎么办?例如,根据地点、薪水等获取报价?
我知道我可以做到这一点,但我正在寻找一种干净的代码方式。我想保持我的代码干净、可扩展和可持续。而且主要是我想遵循 REST 的规则。
【问题讨论】:
标签: java spring rest spring-data spring-data-rest