是否可以用值将注解封装在其他注解中?
我的人生有很多终点 API
并希望自动化所需的 roles / permissions
用于端点访问。
以下是当前代码:
@RestController
@RequestMapping("/health")
public class HealthController {
@GetMapping("/isAlive")
@PreAuthorize("hasAnyAuthority('ISALIVE', 'HEALTH_ENDPOINT')")
public String isAlive() {
return "Server is up and running";
}
@GetMapping("/hello")
@PreAuthorize("hasAnyAuthority('HELLO', 'HEALTH_ENDPOINT')")
public String hello() {
return "Hello";
}
}
我有 2
每个端点的权限,第一个是Map和方法的名称,第二个是类的名称。
在这个例子中,只有 2
不同的结束点使它容易,但成品将有数百个和做手工所有的权力将是容易出错,效率不高。
这是期望的结果:
@RestController
@RequestMapping("/health")
public class HealthController {
@GetMapping("/isAlive")
@MyAuthorisationAnnotation
public String isAlive() {
return "Server is up and running";
}
@GetMapping("/hello")
@MyAuthorisationAnnotation
public String hello() {
return "Hello";
}
}
哪里 @MyAuthorisationAnnotation
会给 @PreAuthorize
注解。
有可能吗?
1条答案
按热度按时间yv5phkfx1#
是否可以用值将注解封装在其他注解中?
一个注解可以有另一个注解作为成员。
但是我不认为这有帮助。我不熟悉spring,但是我认为这个帖子解决了你的问题,因为看起来
@PreAuthorize
可以应用于注解,以便在方法中使用选中的注解时可以利用可传递性。解决方案的职位