Java 使用Quarkus时配置公开的web服务资源

Java 使用Quarkus时配置公开的web服务资源,java,resteasy,quarkus,Java,Resteasy,Quarkus,我有一个使用Quarkus和RESTEasy的多模块项目。一个模块当前包含不同webservice端点的实现,即: @Produces({MediaType.APPLICATION_JSON}) @Consumes({MediaType.APPLICATION_JSON}) @Path("/foo") public class FooResource {} @Produces({MediaType.APPLICATION_JSON}) @Consumes({MediaType.APPLICAT

我有一个使用Quarkus和RESTEasy的多模块项目。一个模块当前包含不同webservice端点的实现,即:

@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON})
@Path("/foo")
public class FooResource {}

@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON})
@Path("/bar")
public class BarResource {}
该模块包含一个
beans.xml
文件,由Quarkus处理以启用CDI

我想从一个或多个其他模块中使用此模块,但有选择地公开端点

即,
FooApplication
公开
/foo
端点,
BarApplication
公开/
bar
端点。如果我只是创建一个依赖于另一个模块的Quarkus/RESTEasy应用程序,它总是公开两个端点,我似乎找不到任何方法来控制这一点。我可以将
FooResource
移动到
FooApplication
并将
BarResource
移动到
barreapplication
,但我希望避免这种情况


是否可以控制Quarkus/RESTEasy公开哪些资源(在编译时或运行时)?

在我使用的大多数web框架中,路由不会自动添加。。。夸克和我们不同吗?我觉得问题在于
beans.xml
文件。你能添加它吗?@cricket\u 007它看起来像Quarkus/RESTEasy自动添加所有带有\@products注释的资源。Quarkus忽略了beans.xml的内容,但我的内容与此相同:我高度怀疑其
@产生的
。我相信
@Path
,但我从Dropwizard或Jersey的JAX-RS知道,您需要手动将资源类连接到应用程序servlet容器中,对不起@路径看起来奇迹就在这里发生了:但我似乎找不到一种从自动bean检测中排除类的方法。可能值得创建一个类似于
disabledPaths
config对象的PR,然后在我使用的大多数web框架中过滤掉这个列表,路由不会自动添加。。。夸克和我们不同吗?我觉得问题在于
beans.xml
文件。你能添加它吗?@cricket\u 007它看起来像Quarkus/RESTEasy自动添加所有带有\@products注释的资源。Quarkus忽略了beans.xml的内容,但我的内容与此相同:我高度怀疑其
@产生的
。我相信
@Path
,但我从Dropwizard或Jersey的JAX-RS知道,您需要手动将资源类连接到应用程序servlet容器中,对不起@路径看起来奇迹就发生在这里:但我似乎找不到一种方法将类从自动bean检测中排除。可能值得创建一个类似于
disabledPaths
config对象的PR,然后过滤掉这个列表