问题标签 [jersey-1.0]
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 - 解压 GZIP http-response (使用 jersey client api, java)
有人可以告诉我在从一些 Http 调用获得响应时,我需要做什么才能解压缩 GZIP 内容。
要拨打电话,我使用 Jersey 客户端 API,请参阅下面的代码:
然而,输出是 GZIP 的,看起来像:
如果我可以实现以下内容会很好:
- 能够检测内容是否经过 GZIP 压缩;
- 如果不是,则在字符串中正常处理;如果,那么解压缩并获取字符串中的内容
java - Jersey 客户端 + 设置代理
嗨,我有一个球衣客户端,我用它来上传文件。我尝试在本地使用它,一切正常。但是在生产环境中我必须设置代理。我浏览了几页,但无法得到确切的解决方案。有人可以帮我吗?
这是我的客户代码:
java - Jersey:如何获取资源的 URI?
ResourceContext.matchResource(URI)允许我将 URI 转换为资源,但我如何从资源转到其 URI?
java - 自定义提供程序无法注入过滤器
我有一个 POJO,我想将它注入到资源和过滤器中:
我为它实现了一个自定义提供程序:
该对象已成功注入我的资源:
但泽西岛未能将其注入我的过滤器:
我猜测差异与以下事实有关,MyFilter
即注入是使用遵循线程本地实例的代理完成的 - 这是因为带有注释的字段@Context
是在外部类中声明的,它被实例化一次,但它们是用于基于每个请求注入对象。当我filter
在调试过程中单步执行时,我可以看到它MyFilter.request
指向一个包装了com.sun.jersey.server.impl.container.servlet.ThreadLocalInvoker
.
我的自定义提供程序(或其他实现)缺少什么需要对我的过滤器进行自定义注入?
请注意,我目前坚持使用 Jersey 1.1.4.1(对不起)。
编辑:使用 Jersey 1.17,我在启动时遇到异常:
严重:缺少字段的依赖项:private mypackage.MyObject mypackage.MyFilter.myObject
java - How to get resource method matched to URI before Jersey invokes it?
I'm trying to implement a ContainerRequestFilter
that does custom validation of a request's parameters. I need to look up the resource method that will be matched to the URI so that I can scrape custom annotations from the method's parameters.
Based on this answer I should be able to inject ExtendedUriInfo
and then use it to match the method:
But getMatchedMethod
apparently returns null
, all the way up until the method is actually invoked (at which point it's too late for me to do validation).
How can I retrieve the Method
that will be matched to a given URI, before the resource method is invoked?
For those interested, I'm trying to roll my own required parameter validation, as described in JERSEY-351.
maven - 如何从 Jersey 1.0 迁移到 Jersey 2.0?
我正在尝试升级到 Jersey 2.0,但遇到了很多麻烦,因为 Jersey 的 groupIds 和 artifactIds 已经完全改变,我在Jersey docs中找不到迁移计划。
这是我的 pom.xml 以前的样子,编译得很好:
这些应该改成什么? 这个不相关的 StackOverflow 问题有点帮助,但我很难找到@Ref
注释移动到的位置。
更新
- 似乎
@Ref
不再存在,或者至少在文档中不再提及。现在您使用UriBuilder
. - 我在文档中找到了一个非常有用的部分,它回答了我的 maven 问题。
- 已
HTTPBasicAuthFilter
重命名为HttpBasicAuthFilter
. 注意大写。 Client client = Client.create();
已经成为Client client = ClientBuilder.newClient();
这个:
已经成为
/li>
jersey - ResourceFilterFactory 和非路径注释资源
(我使用的是泽西岛 1.7)
我正在尝试在我的项目中添加一个 ResourceFilterFactory 以使用注释选择每个方法使用的过滤器。
ResourceFilterFactory 似乎能够过滤使用 Path 注释注释的资源,但它似乎不会尝试为调用的资源的 SubResourceLocator 的方法生成过滤器。
运行时,过滤器工厂只会被以下调用: AbstractResourceMethod(A#doGet) AbstractSubResourceLocator(A#getB)
当我期望为子资源的每个方法调用它时。
我目前在我的 web.xml 中使用以下选项;
我对滤清器厂的理解有问题吗?
jersey - 如何在泽西岛读取 JSON 请求正文
我有一个要求,我需要读取作为请求的一部分传入的 JSON 请求,并同时将其转换为 POJO。我能够将其转换为 POJO 对象。但我无法获得请求的请求正文(有效负载)。
例如:休息资源如下
POJO作为
JSON请求是
能够在 WebContentRestResource 的 doLogin() 方法中正确填充 UserVO。但我还需要作为请求的一部分提交的原始 JSON。
谁能帮我?
谢谢~阿肖克
java - 带有 Jersey 和 jQuery 的 RESTfull Webservice 得到奇怪的响应
我尝试构建一个 RESTfull Webservice。
在前端,我使用 jQuery 来获取数据。
在后端,我正在尝试使用 www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/ 中的示例
从浏览器调用 127.0.0.1:8080/restEx/rest/json/get 我得到了预期的答案:
但是当我尝试使用 $.get() 获取这些数据时,我没有得到任何答案。查看 Firebug 告诉我,我没有得到数据。
我也试过了
正如我在另一个问题中找到的解决方案现在在 Firebug 中我看到了数据,但 jQuery 仍然没有执行成功函数。我仍然只看到失败功能。
那么我做错了什么?我怎样才能让这些东西工作?
我正在使用 jQuery 2.0.2、Jersey 1.8(我使用来自 jersey.java.net/documentation/latest/getting-started.html#running-project 的 Jersey 2 进行了尝试,结果相同)并且该项目部署在 Tomcat 7 上。
索引.html
pom.xml
web.xml
JSONService.java
轨道.java
java - 如何在请求过滤器中获取表单参数
我正在尝试在请求过滤器中获取请求的表单参数:
但是,表格似乎总是空的。HttpRequestContext.getFormParameters()
文档说:
获取请求实体的表单参数。
此方法将确保请求实体被缓冲,以便应用程序可以使用它。
返回: 表单参数,如果有请求实体且内容类型为“application/x-www-form-urlencoded”,否则返回不包含参数的实例。
我的资源被注释了@Consumes("application/x-www-form-urlencoded")
,尽管在请求过滤器之后它才会被匹配 - 这就是为什么这不起作用?
我尝试进行一些研究,但找不到任何确凿的证据证明这是否可能。有一个 4 年前的讨论,其中 Paul Sandoz 说:
如果您正在使用 Jersey 过滤器或使用 ,
HttpRequestContext
您可以获得如下形式的参数:[到 Jersey 1.1.1 的链接断开HttpRequestContext.getFormParameters
]
我还发现了这个 3 年的关于如何在请求过滤器中获取多部分/表单数据表单字段的讨论。在其中,Paul Sandoz 使用以下代码:
我尝试模拟这种方法Form
,但结果request.getEntityInputStream()
始终是一个空流。查看的来源getFormParameters
,该方法实际上已经在做同样的事情:
在我开始之前,我无法弄清楚是什么在吞噬实体输入流。Jersey 中的某些东西一定在消耗它,因为表单参数稍后会传递到资源方法中。我在这里做错了什么,或者这是不可能的(为什么)?
编辑:这是发送请求的示例:
这是(有些多余的)请求日志记录:
以下是该请求的响应标头,包括Jersey Trace:
这是(不起眼的)servlet配置:
这是示例资源:
我正在使用泽西岛 1.17。
对于那些感兴趣的人,我正在尝试推出自己所需的参数验证,如JERSEY-351中所述。我的解决方案适用于查询、cookie 和标头参数——表单参数对我不利。