问题标签 [spring-jersey]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 始终在 @RequestMapping 函数之前调用函数
我正在使用 spring 框架创建一个 API spring 服务。
对于我定义的每个端点,我都有几个 @RequestMapping 函数。在每个@RequestMapping 函数中,我都有一个函数可以在继续之前检查几个授权变量。
在我转发到相关的@RequestMapping 函数之前,我可以把这个授权函数放到一个特定的函数中吗?
java - RESTeasy 和 @MultipartForm 、服务器和客户端
浏览 jboss的RESTEasy Guide 4.4.0-final。也有例子可以指导。
想要创建一个小型服务,您可以在其中发布带有一些元数据的二进制文件。在这种特殊情况下,我想发布一个文件+“该文件的所有者”。
在我的第一次尝试中,我使用了以下构造(第一次尝试服务器)。
我可以保存文件,但我可以从“fileDetail”获得的唯一信息是文件名。调用“1st-attempt-server”的客户端(“1st-attempt-client”)如下所示:
查看服务器中的地图,该地图只给了我两个密钥对,它们是(名称=文件和文件名=testimage.jpg)-似乎我无法获取“所有者”属性。
在我的第二次尝试中,我使用了以下构造(第二次尝试服务器)。我确信我在几年前就使用过这个结构。
支持文件:FileuploadForm 看起来像这样(带有 getter/setter)
调用“2nd-attempt-server”的客户端(“2nd-attempt-client”)如下所示:
现在我收到HTTPS 状态 415作为响应。
第二台服务器,客户端代码缺少什么?如果我改成这个似乎并不重要
我确实喜欢这里使用 POJO 的第二种方法,我正在 Tomcat 8 中部署代码。当然,这里的球衣代码就足够了,我也看到了一些其他依赖项,但我希望这个“干净”的例子能够工作如果可行(我在指南中找不到简单的示例)
对于服务器端代码,我正在使用这些球衣依赖项(我的 pom.xml 的一部分),并且我正在使用 Tomcat 8 中的代码。
spring-boot - 通过功能标志控制 spring jersey 应用程序到 webflux 的迁移
我们正在考虑如何逐步将 spring jersey app 迁移到 webflux,通过将 jersey 服务转换为 webflux 控制器,并将 jersey 过滤器一一转换为 webfilters,由功能标志控制。由于 webflux 可以在现代 servlet 容器上运行,我正在考虑将原始路径映射到一个 servlet,该 servlet 仅根据功能标志的值进行转发。但是,据我了解,spring boot 不允许 webflux 与 spring MVC/Jersey 共存。将现有应用程序迁移到 webflux 的最佳方法是什么?
java - 以 Json 和 csv 文件作为附件的 Rest API
我们能否在 Rest Service 中同时提供 Json 响应和 csv 文件作为附件?
我已经编写了如下代码,但我也确信它不会工作。
带有文件的实体的第二个设置器基本上覆盖了我之前作为实体插入的 json 内容。所以请建议。
spring-boot - 从 jar 运行时,Spring-boot jersey 崩溃,找不到文件异常。从源代码运行它没有任何问题
当我从 Idea 运行它时,效果很好。我使用gradle bootJar
. 当我运行它时,我得到:
我知道这是一个与扫描罐子内的球衣问题有关的问题,我已经在网上尝试了所有可能的解决方案,我可以找到 fe:
无法从 spring-boot jersey 运行生成的 jar
https://www.ivankrizsan.se/2016/12/06/jersey-and-spring-boot-standalone-jar-files/
https://github.com/spring-projects/spring-boot/issues/7496
https://github.com/spring-projects/spring-boot/issues/3260
Spring Boot 和 Jersey 产生 ClassNotFound
https://github.com/jersey/jersey/pull/196
https://github.com/spring-projects/spring-boot/issues/1345
尝试从 jar 文件运行时,Spring Boot 应用程序不会运行
我的项目是多模块的。它由
Api 仅与 jaxrs 接口有关,服务器是带有球衣的 spring boot。这里有详细的文件列表:
我还删除了 api 项目,并将其所有类移至服务器项目,但错误仍然存在。
这是我的球衣 conf 课:
我的选择已经不多了。请帮助我。
spring-boot - Spring-boot我如何使用球衣消费XML RPC服务器
Spring-boot 我如何使用 jersey 使用 XML RPC 服务器 我正在使用 spring boot 2.2.4 并且我有来自 XML RPC 服务器的 API,我可以使用 jersey 使用它吗
spring-boot - Spring 不会在 JAX-RS 定义的子资源中注入依赖项
我通过 Spring Boot 并使用 JAX-RS (Jersey) 构建了一个应用程序。对于 JAX-RS 资源 Spring DI 工作正常,但对于子资源 - 不是。我将在下面提供示例:
子资源:
如果我将此类称为父资源的子资源,如下所示:
然后没有将存储库注入这些资源,如果我将其用作基本资源,则注入工作正常。
我已经尝试过这个解决方案,并通过调试器检查了依赖项设置为 InjuryResource 但它没有帮助(当请求被提出时,该资源中的存储库指向 null,但是,我看到它们被注入了):
正如我正确理解的那样,Spring 不控制 JAX-RS 中子资源的生命周期?如果是真的,那么如何将存储库注入到子资源中?
感谢你的帮助!
spring - 使用Spring时如何在一个方面访问Jersey的上下文对象?
我正在为 JAX-RS 使用 Spring 5.2.x 和 Jersey 2.30.x。
我有如下注释:
在我的服务中,我使用以下注释:
@MyAnnotation
当注释存在时,我想执行某些逻辑。为此,我创建了一个方面:
在这方面,我需要访问 HTTP 标头。我尝试注入 Jersey's ContainerRequest
,但这似乎失败了:参考总是null
.
所以我的问题是:如何ContainerRequest
在 Spring 的托管 bean 中访问 Jersey 的上下文对象,例如 ?
最小的例子
我创建了一个最小的示例,请参阅https://github.com/pbillen/playground-so-61750237。您可以使用 构建它,mvn clean install -U
然后使用mvn cargo:run
. 如果您随后将浏览器指向http://localhost:8080/,您将在控制台中看到:
工作解决方案,绕过泽西岛并使用HttpServletRequest
我尝试HttpServletRequest
在方面进行接线,然后访问Authorization
标题:
我还添加到web.xml
:
这基本上完全绕过了泽西岛。这似乎有效,我现在可以读出Authorization
方面的标题。伟大的!
但是,我的问题仍然存在:有没有办法将 Jersey 的上下文对象注入 Spring 管理的方面?
spring - 在带有 JAX-RS 映射(@Path、@GET 等)的 spring-boot-starter-jersey 项目上使用 Springboot 映射(RequestMapping、PathVariable 等)
我正在向最初在 Jersey(几年前)开发并后来移植到 springboot-jersey(几年前)的微服务中添加一组新功能。
从那以后我习惯了其他框架和语言,所以我想: 1- 使用 Kotlin 2- Springboot 的 Web Annotations 来执行其余端点的映射,同时保持对 JAX-RS 映射注释的支持
Kotlin 部分本身是“容易的”,我所需要的只是将 kotlin 运行时依赖项添加到项目的“pom.xml”并创建 Kotlin 类。但是,当我使用 Springboot 的映射创建一个简单的端点时,它不起作用(对端点的 HTTP 调用返回 HTTP 404 状态代码):
但是,如果我使用 JAX-RS 映射,它可以正常工作(对端点的 HTTP 调用返回 HTTP 200 状态代码和“测试”消息):
这是项目的 pom.xml (无论如何对问题很重要的部分):
我研究了一段时间,没有发现任何与此事有关的东西。我的“混合”Springboot 和 JAX-RS 映射注释方法是否可行?
如果有人能为我澄清这一点,我将不胜感激......
编辑:我忘了提到“UnitController”是在 JerseyConfig 下注册的:
spring-boot - 将 Jersey 与 Spring Boot 一起使用
Spring Boot Reference Documentation 在标题为7.3 JAX-RS 和 Jersey的部分中提到“所有注册的端点都应该是带有 HTTP 资源注释(@GET 和其他)的@Components。由于端点是 Spring @Component,它的生命周期由 Spring 管理并且您可以使用@Autowired 注解注入依赖项并使用@Value 注解注入外部配置”。
但是我不关心将依赖项或外部配置注入我的 Jersey 资源中,因此我没有将我的 Jersey 资源注释为@Components。我的应用程序运行良好。
通过阅读 Spring Boot 参考文档,似乎需要将 Jersey 资源注册为 @Components。但情况似乎并非如此。对我来说,这似乎是 Spring Boot 参考文档中的一个小错误。可能是文档可以从“注册端点应该是@Components ”更新为“注册端点可以是@Components ”。这有意义吗?