草庐IT

jersey-documentation

全部标签

java - 如何让 Jersey Test/Client 不填写默认的 Accept header ?

我正在尝试以特定方式处理没有Acceptheader的请求,但无论我做什么,Jersey似乎都一心想填写一个,所以它看起来总是请求有一个Acceptheader,即使它没有。importorg.glassfish.jersey.server.ResourceConfig;importorg.glassfish.jersey.test.JerseyTest;importorg.junit.Test;importjavax.ws.rs.GET;importjavax.ws.rs.Path;importjavax.ws.rs.core.Application;importjavax.ws.r

java - 在 Linux 上从 Jersey 返回 Json 抛出异常

我开发了一个JerseyAPI,它返回XML或JSON(取决于请求header)。当部署在我的Windows2012服务器(Tomcat)上时,它没有问题。当我部署(在Ubuntu上编译后)到AWS(Glassfish)中的Ubuntu机器时,请求JSON时出现以下错误:Theserverencounteredaninternalerrorthatpreventeditfromfulfillingthisrequest.exceptionjavax.servlet.ServletException:org.glassfish.jersey.server.ContainerExcepti

java - 将 org.dom4j.Document 转换为 org.w3c.dom.Document 和 XML 签名的问题

我有一些类已经使用了DOM4J读取XML文件并提供获取数据的方法。现在,我需要添加检查XML数字的可能性签名。使用org.w3c.dom并遵循http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/一切正常。因此,我尝试使用DOMWriter将org.dom4j.Document转换为org.w3c.dom.Document,但在此之后签名验证不起作用。我认为它发生这种情况是因为DOMWiter正在更改XML树(正如doc4.asXML()似乎显示的那样)。我试图找到一些设置以保持文档的完整性,但是DO

Java Jersey 声明式超链接 @Ref 注解的使用

我一直在尝试扩展Jersey1.12文档第6章(声明性超链接)中提供的示例,但似乎在@Ref注释的使用方面遇到了障碍。我的代码如下:@Path("/offerings/{offeringId}/widgets")@Produces(MediaType.APPLICATION_JSON)publicclassWidgetsResource{@GET@Path("/{widgetId}")publicResponseget(@PathParam("offeringId")StringofferingId,@PathParam("widgetId")StringwidgetId){Widge

java - Jersey & Jackson - 修改 Jackson 输出的资源

我目前正在使用Jersey&Jackson创建REST服务。现在,当Resource方法生成application/json并返回一个POJO时,它会正确地将对象序列化为JSON并将响应返回给客户端。我现在要做的是设置Jersey,这样当查询参数出现时(比如说“缩进”),我可以告诉Jackson以“更漂亮的格式,也就是缩进”序列化JSON。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器轻松告诉Jackson执行此操作。问题是,我如何根据每个请求获取查询参数并使用它来修改Jackson的输出?

java - Jersey 休息服务器 - 返回列表作为 json

在Tomcat和Glassfish上运行相同代码时,返回列表的json结构有所不同。@XmlRootElementpublicClassPerson{privateintpersonId;privateStringname;}@GET@Path("/persons")publicResponsegetPersons(){Listpersons=newArrayList();persons.add(newPerson(1,"JohnSmith"));persons.add(newPerson(2,"JaneSmith"));GenericEntity>entity=newGenericE

java - 带有日期对象的 Jersey + Jackson 反序列化失败

我同时使用jersey和jackson来开发我的RESTAPI,但在反序列化日期字符串时遇到问题。我已经在Jersey注册了一个提供者类:@ProviderpublicclassMyJsonProviderextendsJacksonJsonProvider{publicstaticfinalStringDATE_FORMAT="yyyy-MM-ddHH:mm:ss";@OverridepublicvoidwriteTo(Objectvalue,Classtype,TypegenericType,Annotation[]annotations,MediaTypemediaType,Mu

java - Jersey:如何将 InjectableProvider 与 @Context 注释一起使用?

我关注了thispost并由第一个自定义可注入(inject)提供程序创建,一个LocaleProvider扫描Accept-Languageheader的HTTP请求。如果我在Jersey资源中使用它,它工作正常:@Path("test")@GETpublicResponsegetStatus(@ContextLocalelocale){log.finer("Locale:"+locale);Responseresponse=Response.noContent().build();returnresponse;}但是当我想在ExceptionMapper中使用它时,我不知道如何注入

java - 等效于 Jersey/JAX-RS/REST 资源的 Servlet 过滤器?

在一个常规的Web应用程序中,我可以为身份验证、授权、错误、日志记录等方面的各种路径分配一个过滤器链。优点是我编写servlet以专注于核心功能而不用担心基础设施方面。我可以编写正交的、横切的Filter来进行身份验证、授权等。然后我可以将它们编织在web.xml中。查看web.xml足以让我确信我的应用程序中没有漏洞。这在JAX-RS或Jersey中可行吗?如果不是,我最好的选择是什么? 最佳答案 虽然与servlet过滤器不同,但Jersey支持ContainerResponseFilter和ContainerRequestFi

java - Jersey JAXRS 过滤器,在访问资源(Web 服务)之前提供未编码的实体

是否有一种优雅的方式(过滤器、Hook)在Jersey中拦截未编码的实体(及其注释),然后再访问Web服务资源方法——那些用@POST、@PUT注释的方法。我确实需要实体本身及其上的任何注释,然后使用validator注释的属性对该实体执行验证(看起来像JSR303,但我们不使用元数据注释整个bean)。从资源的实现角度来看,我的目标是能够在资源方法中输入:@Path("/people")@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})publicclassPeopleService{@POSTpubli