【发布时间】:2017-09-17 08:56:58
【问题描述】:
我有一个在 Spring 中制作的 rest api,并且正在使用 Swagger 来获取文档。最近实现了基于令牌的身份验证。在令牌中,有(内部)用户的角色(权限)。每个控制器都带有几个 Swagger 注释和一个 @PreAuthorize(some roles..) 注释,如下所示:
@ApiOperation("Delete user")
@ApiResponses(value = {
@ApiResponse(code = 404, message = "User not found", response = ErrorResponse.class)
})
@PreAuthorize("hasAuthority('ADMIN')")
@DeleteMapping(value = "/{id}")
public ResponseEntity<?> deleteUser(@PathVariable UUID id) {
userService.delete(id);
return ResponseEntity.ok().build();
}
现在,我不知道如何在我的 swagger-ui 中显示这些角色,所以每个端点都有信息,访问它需要什么用户角色。我浏览了互联网,发现只有一些非常模糊的信息,其中大部分与 Spring 无关。
注意:
我尝试使用注释:@ApiOperation(value = "Delete user", notes = "Required roles: ADMIN, USER") 来显示自定义文本,但这似乎不是正确的方法。
【问题讨论】:
-
@Digerkam 我没有找到解决方案并在描述中显示了用户角色
-
您是否愿意使用
@Secured注释而不是@PreAuthorized?
标签: spring swagger access-control