我有 Spring HATEOAS 用于访问特定资源,例如
http://localhost:8080/user/1
但我也希望能够宣传服务网址:
http://localhost:8080/user
例如,如果您执行 GET / ,我想返回我宣传的服务资源。现在唯一的一个是/auth。
@RequestMapping(value = "/", method = RequestMethod.GET)
@ResponseBody
public HttpEntity<AuthenticationResource> post() {
AuthenticationResource resource = new AuthenticationResource();
resource.add(linkTo(methodOn(AuthenticationController.class).authenticate()).withSelfRel());
return new ResponseEntity<AuthenticationResource>(resource, HttpStatus.OK);
}
@RequestMapping(value = "/auth", method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public void authenticate() {
//users.save(user);
}
目前这没有编译,因为 linkTo 不接受 void 参数,我认为这是我的身份验证方法的返回类型
我想要的是:
{"links":[{"rel":"someString","href":"http://localhost/auth"}]}
在保持 HATEOAS 最佳实践的同时,我如何做到这一点?