Java 使用Quarkus时配置公开的web服务资源
我有一个使用Quarkus和RESTEasy的多模块项目。一个模块当前包含不同webservice端点的实现,即: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
@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,然后过滤掉这个列表