使用Spring REST + MongoDB添加指向每条记录的链接

时间:2016-04-25 08:13:32

标签: spring mongodb rest spring-mvc hateoas

我正在尝试为我的数据库中的每条记录添加链接,因为我正在尝试实现HATEOAS概念。但是,我遇到了一些麻烦。我尝试按照本指南https://spring.io/guides/gs/rest-hateoas/进行操作。但没有成功。我应该如何以及在何处编写添加链接的代码?因为当我尝试在我的控制器方法中编写它时似乎不起作用,因为withSelfRel()未定义。

基本上我正在尝试为我的数据库中的每个帐户添加一个链接。

    //Create account 
@RequestMapping(value="/accounts", method = RequestMethod.POST) 
public ResponseEntity<?> accountInsert(@RequestBody Account account) {
    account = new Account(account.getFirstName(), account.getLastName(), account.getEmail(), account.getPassword(), account.getBirthDate(), account.getActivities(), account.getFriends());
    accountRepository.save(account);
    //account.add(linkTo(methodOn(AccountController.class, accountInsert(account)).withSelfRel()));   /// HERE IS MY TRY
    HttpHeaders httpHeaders = new HttpHeaders();
    httpHeaders.setLocation(ServletUriComponentsBuilder.fromCurrentRequest().build().toUri());
    return new ResponseEntity<>(null, httpHeaders, HttpStatus.CREATED);
}

提前谢谢!

1 个答案:

答案 0 :(得分:0)

你不能在同一个方法内使用方法 试试这个: -

Link self=linkTo(AccountController.class).slash(account.getId()).withSelfRel();

或者您可以参考给定的link