将 SecurityIdentity 直接提供给 Quarkus/RESTEasy Web 服务方法
Providing the SecurityIdentity directly to a Quarkus/RESTEasy web service method
我正在使用带有 RESTEasy 的 Quarkus 来制作 Web 服务,我需要在我的一些方法中访问 SecurityIdentity
。
可以通过使服务 RequestScoped
:
注入它
@RequestScoped
@Path("/foo")
public class FooResource {
@Inject
public SecurityIdentity securityIdentity;
@GET
public Foos getFoos() {
// use securityIdentity
}
}
但我更愿意使用 class ApplicationScoped
并将 SecurityIdentity
提供给方法。像这样:
@ApplicationScoped
@Path("/foo")
public class FooResource {
@GET
// This does not work, Quarkus tries to convert the request body to a SecurityIdentity.
public Foos getFoos(SecurityIdentity securityIdentity) {
// use securityIdentity
}
}
这可能吗?有没有我可以添加的魔法注释让 Quarkus 注入 SecurityIdentity
?
将其注入到字段中仍然适用于 ApplicationScoped bean 并且是线程安全的
我正在使用带有 RESTEasy 的 Quarkus 来制作 Web 服务,我需要在我的一些方法中访问 SecurityIdentity
。
可以通过使服务 RequestScoped
:
@RequestScoped
@Path("/foo")
public class FooResource {
@Inject
public SecurityIdentity securityIdentity;
@GET
public Foos getFoos() {
// use securityIdentity
}
}
但我更愿意使用 class ApplicationScoped
并将 SecurityIdentity
提供给方法。像这样:
@ApplicationScoped
@Path("/foo")
public class FooResource {
@GET
// This does not work, Quarkus tries to convert the request body to a SecurityIdentity.
public Foos getFoos(SecurityIdentity securityIdentity) {
// use securityIdentity
}
}
这可能吗?有没有我可以添加的魔法注释让 Quarkus 注入 SecurityIdentity
?
将其注入到字段中仍然适用于 ApplicationScoped bean 并且是线程安全的