apache - 如何以编程方式配置 JAX-RS 端点?
问题描述
我试图在我的项目中摆脱 XML。我已经尝试添加这个:
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(CustomerService.class);
sf.setAddress("http://localhost:9000/");
sf.create();
到我的 Activator 类,但我的包不会以此开头。
那么,人们通常如何配置端点?
解决方案
(抱歉,没有代码,只是我的经验/项目中的一些高级见解)
我使用 jersey 并将其集成到 OSGi 环境中。即org.glassfish.jersey.servlet.ServletContainer
,我向其注册所有 jax-rs 资源。这样,我可以使用任何可用的 HTTP 服务器实现(例如,jetty)并通过 OSGi 系统环境属性对其进行配置。
为简单起见,我将带注释的 OSGi(声明性)服务作为单例资源/端点重新注册到该 ServletContainer 中。
或许,CXF 也有类似的做法。
推荐阅读
- python - 为什么 Docker 找不到 Flask 模块
- java - post/put API 请求的参数污染
- laravel - 邮递员不向服务器发送文件(laravel+postman)
- jquery - 使用 mix-blend-mode 混合 RYB 颜色
- mysql - Comparing IPv4 IP address with Network address stored on MYSQL
- reactjs - React:react-router-dom Typescript 中不存在 useLocation Hook
- c# - 在安装程序的 UI 阶段访问自定义操作中打包的 XML 文件的内容
- sql-server - STRING_AGG 在兼容级别 < 140 上工作
- ruby-on-rails - ActiveStorage回调后如何获取图片url
- c# - Azure 函数:本地开发:Microsoft.WindowsAzure.Storage:计算的 MD5 与现有属性不匹配