【发布时间】:2015-12-23 02:05:34
【问题描述】:
在我们的 Spring-Data-Rest 项目中,我们在 /buergers/search/findBuergerFuzzy?searchString="..." 端点上进行了自定义(模糊)搜索。
是否可以在 /buergers/search 端点上为其添加链接(不覆盖自动公开的存储库 findBy 方法)?
暴露搜索的控制器:
@BasePathAwareController
@RequestMapping("/buergers/search/")
public class BuergerSearchController {
@Autowired
QueryService service;
@RequestMapping(value = "/findBuergerFuzzy", method = RequestMethod.GET)
public
@ResponseBody
ResponseEntity<?> findBuergerFuzzy(PersistentEntityResourceAssembler assembler, @Param("searchString") String searchString) {
if (searchString.length() < 3)
throw new IllegalArgumentException("Search String must be at least 3 chars long.");
List<Buerger> list = service.query(searchString, Buerger.class, new String[]{"vorname", "nachname", "geburtsdatum", "augenfarbe"});
final List<PersistentEntityResource> collect = list.stream().map(assembler::toResource).collect(Collectors.toList());
return new ResponseEntity<Object>(new Resources<>(collect), HttpStatus.OK);
}
}
【问题讨论】:
标签: spring spring-data-rest spring-hateoas