jjzjj

RestEasy

全部标签

java - RESTEasy:找不到内容类型应用程序/json 类型的编写器

我有一个使用(application/json)并生成(application/json)的restful服务(post)。此服务的单个参数是带注释的java对象。我正在使用org.jboss.resteasy.client.ClientRequest将请求发送到服务。但是,我在客户端得到这个异常和异常:找不到内容类型应用程序/json类型的编写器。这是否意味着我缺少一些库jar或者我必须为application/json编写自己的编写器?我正在使用resteasy2.3.3.Final以下是我添加到我的pom中的各种依赖项,我认为它们可能是相关的:org.jboss.resteasy

java - 如何在 RESTEasy 中使用通用模板 (<T>) 从类生成 XML 响应?

我有一个通用的ServiceResponse类,如下所示:@XMLRootElementpublicclassServiceResponse{privateTdata;privateStringerror;//settersngetters}从我的RESTEasy服务中,我想生成如下的xml响应:Listcustomers=someDAO.getCustomers();ServiceResponse>resp=newServiceResponse>();resp.setData(customers);resp.setError("NoError");returnresp;orretur

java - 将 Jetty 与 RESTEasy 集成

关于如何集成Jetty和RESTEasy的任何链接?我有点卡住了,试图将RESTEasy与Jetty一起配置……而且网络上似乎没有可靠的帮助。publicstaticvoidmain(String[]args)throwsException{Serverserver=newServer(8080);WebAppContextcontext=newWebAppContext();context.setDescriptor("../WEB-INF/web.xml");context.setResourceBase("../src/webapp");context.setContextPat

java - 如何从 HttpServerExchange 获取请求正文?

我创建了一个Undertow服务器和一个处理程序来记录请求。我在检索HttpServerExchange的请求正文时遇到问题。在LoggingHandler类中,我正在毫无问题地获取正文。但是在TestEndpoint处,正文变空了。如果我删除在LoggingHandler处检索请求主体的行,主体将在TestEndpoint处填充。有谁知道这样做的方法吗?我的服务器类:packagecom.undertow.server;importcom.undertow.server.endpoints.TestEndpoint;importorg.jboss.resteasy.plugins.s

java - RESTeasy中基于HTTP头的拦截

我正在开发两种类型的REST服务。登录前,不会将sessiontoken传递给HTTPheader。登录后sessiontoken将在每个请求中传递。我不想在每个REST方法中都包含@HeaderParam。我想先拦截它,然后基于它我想检查session的有效性。请告诉我我如何在RESTEasy中根据header进行拦截如何避免拦截少数方法谢谢。 最佳答案 我使用PreProcessInterceptor解决了这个问题@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.MET

java - 来自客户端的超时 web 服务调用

我正在使用RestEasyClient调用网络服务。一项要求是,如果调用运行超过5秒,则中止/超时调用。我将如何使用RestEasyClient实现这一目标?我只看到服务器端超时,即如果在特定时间内未完成请求,RestEasy网络服务将使请求超时。 最佳答案 RESTEasy客户端通常使用ApacheHttpClient来处理网络对话。您可以使用自己的自定义超时参数覆盖HttpClient属性:DefaultHttpClienthttpClient=newDefaultHttpClient();HttpParamsparams=ht

java - @MultipartForm 如何获取原始文件名?

我正在使用jboss的rest-easy多部分提供程序来导入文件。我在这里阅读http://docs.jboss.org/resteasy/docs/1.0.0.GA/userguide/html/Content_Marshalling_Providers.html#multipartform_annotation关于@MultipartForm,因为我可以用我的POJO准确映射它。下面是我的POJOpublicclassSoftwarePackageForm{@FormParam("softwarePackage")privateFilefile;privateStringconte

java - 具有不同查询参数的两种 GET 方法

我们能否创建相同的GETURI但使用不同的查询参数?例如,我有两个RESTGETURI:/questions/ask/?type=rest/questions/ask/?byUser=john现在REST服务不会将两个GET方法识别为独立的,并且只考虑第一个声明为第一个的GET方法。为什么会这样?有什么方法可以使两个GET方法具有不同的查询参数?如果您能引用任何资源,我们将不胜感激。 最佳答案 因为资源由其PATH(而不是其参数)唯一标识。您定义的两个资源具有相同的PATH。@Path("/questions/ask")根据JSR-

java - RESTEasy 客户端异常处理

我有一个使用RESTEasy的简单客户端,如下所示:publicclassTest{publicstaticvoidmain(String[]args){ResteasyClientclient=newResteasyClientBuilder().build();ResteasyWebTargettarget=client.target("http://localhost");client.register(newMyMapper());MyProxyproxy=target.proxy(MyProxy.class);Stringr=proxy.getTest();}}publici

java - 替换 JBoss 记录的 EJBAccessException 堆栈跟踪

我的应用程序中有一个受EJB安全性保护的REST端点。@Path("/somepath")@Produces(MediaType.APPLICATION_JSON)@Stateless@SecurityDomain("mydomain")@RolesAllowed({"user"})publicclassMyResourceextendsAbstractResource如果用户的session超时,网络应用程序不知道这一点,如果我尝试与其交互,它会收到403FORBIDDEN,这完全没问题。但是在服务器日志中,这个错误看起来像这样:14:47:52,682ERROR[org.jboss