草庐IT

java - 如何在 JEE 中定义处理多部分数据的 JAX-RS 服务?

这是我目前所拥有的:这会初始化我的REST服务packagecom.dothatapp.web.rest;importjavax.servlet.annotation.MultipartConfig;importjavax.ws.rs.ApplicationPath;importjavax.ws.rs.core.Application;@ApplicationPath("/authed/rest")publicclassJaxRsActivatorextendsApplication{}这就是我的服务的样子:importjavax.servlet.http.HttpServletReq

java - 我如何使用 jax-rs 发送文件

如何使用jax-rs发送文件以供下载? 最佳答案 importjavax.ws.rs.core.Response;importjavax.ws.rs.core.Response.ResponseBuilder;publicResponsegetFile(StringcontentType){Filef=newFile("/tmp/file.doc");ResponseBuilderresponse=Response.ok(f);response.type(contentType);response.header("Content-D

java - JAX-RS 和 java.time.LocalDate 作为输入参数

使用JAX-RS和java.time.LocalDate(java8)时出现问题。我想使用JSON将这样的对象传递到JAX-RS方法中:Person{java.time.LocalDatebirthDay;}我得到的异常是:com.fasterxml.jackson.databind.JsonMappingException:Nosuitableconstructorfoundfortype[simpletype,classjava.time.LocalDate]:cannotinstantiatefromJSONobject(needtoadd/enabletypeinformati

java - JAX-RS 2 打印 JSON 请求

我希望能够从请求中打印JAX-RS2JSON负载,而不管我的应用程序服务器上的实际实现如何。我已经在SO上尝试了建议的解决方案,但所有解决方案都包含实际实现的二进制文件(如Jersey和类似的),并且我只能在我的应用程序中使用javaee-apiv7.0。我已尝试在我的客户端上实现ClientRequestFilter和ClientResponseFilter,但它们不包含序列化实体。这是一个客户端示例:WebTargettarget=ClientBuilder.newClient().register(MyLoggingFilter.class).target("http://loc

java - 无法在 Weblogic 12c (12.2.1) 中部署 CXF3.x JAX-RS 服务

将使用CXF3.x构建的JAX-RS服务从weblogic12.1.3升级到12.2.1后,我面临以下奇怪的问题请注意,我使用的是CXF,而不是Jersey,但似乎Weblogic正在尝试使用它(12.1.3不会发生这种情况)。我按照以下建议在配置文件中禁用了它:https://jerometambo.github.io/blog/2016/12/13/How-to-use-CXF-3x-implementation-of-JAX-RS-20-REST-with-Weblogic-12c.htmlWithdefaultconfiguration,Weblogicwantstouseit

java - REST with JAX-RS - 处理长时间运行的操作

我有一个使用JAX-RS实现的REST服务。有些操作需要很长时间才能完成,可能需要15-30分钟。对于这些情况,我倾向于分派(dispatch)一个后台线程来处理长时间运行的操作,然后立即响应HTTP状态202ACCEPTED。响应将包含一个带有url的位置header,客户端可以使用该url来轮询进度。此方法需要创建线程来处理长时间运行的操作,以便可以立即返回202ACCEPTED。我还知道,在JavaEE容器中创建自己的线程通常是不好的做法!我的问题如下:人们是否同意这是一种正确的方法?假设它是正确的,人们能否推荐一个“良好实践”解决方案,使我能够在后台调度长时间运行的操作并立即返

java - 异步 JAX-RS 的目的是什么

我正在阅读“RESTfulJavawithJAX-RS2.0”一书。我对异步JAX-RS完全感到困惑,所以我把所有问题都集中在一个问题上。书上是这样写异步服务器的:@Path("/customers")publicclassCustomerResource{@GET@Path("{id}")@Produces(MediaType.APPLICATION_XML)publicvoidgetCustomer(@SuspendedfinalAsyncResponseasyncResponse,@ContextfinalRequestrequest,@PathParam(value="id")

java - 如何在 JAX-RS 异常上使用自定义消息设置 40X 错误?

我正在JAX-RS上开发一个已经运行的Web服务。现在,我正在寻找捕获一些异常的方法,以便将带有自定义消息的40X错误发送给用户。我有一个网络服务和一个ExceptionMapper。这是我的网络服务:@Path(value="/test/")publicinterfaceServiceTest{@Path(value="{rrf}")@GET@Produces(MediaType.TEXT_XML)publicObjectDTOgetDealer(@PathParam("rrf")Stringrrf){ObjectDTOobjectDTO=newObjectDTO();if(veri

java - 我如何像 JAX-RS(CXF 和 Jersey)一样使用 JAXB 编码 java.util.List

这个问题在这里已经有了答案:IsitpossibletoprogrammaticallyconfigureJAXB?(1个回答)关闭7年前。最新的JAX-RS似乎可以处理将java.util.List作为XMLRootElement返回的方法,但普通的JAXB不能。我想模仿CXF和Jersey正在做的事情。换句话说,我想编码一个列表,就像CXF和Jersey一样。通常,如果您尝试使用JAXB编码列表,您会得到RootElement异常。如何在不必制作包装对象的情况下解决这个问题?编辑:感谢您提供的许多答案,但我对@XmlElementWrapper非常熟悉,但这甚至无法模拟JAX-RS

java - 如何使用 JAX - RS 在 Java 中使用 Web 服务从数据库插入数据

我是网络服务的新手。请给出如何使用jerseyJAX-RSinjava从数据库中插入和检索数据的建议? 最佳答案 下面是一个JAX-RS服务作为sessionbean实现的示例,使用JPA进行持久化,使用JAXB进行消息传递可能看起来像.客户服务packageorg.example;importjava.util.List;importjavax.ejb.*;importjavax.persistence.*;importjavax.ws.rs.*;importjavax.ws.rs.core.MediaType;@Stateles