标签: jax-rs

我如何处理Glassfish包含与应用程序提供的库崩溃的库?

我使用的一个CXF JAX-RS应用程序使用jackson将POJO编组为JSON.这在很大程度上起作用,但有一天它在编组深度嵌套的对象时失败了NPE.

经过一番调查后,我发现杰克逊被包括在Glassfish 3中(通过泽西岛),并且在移除后jackson-core-asl.jar, jackson-jaxrs.jar, jackson-mapper-asl.jar,jackson-xc.jar一切都运行得很漂亮.我想杰克逊1.7.1(包含在GF3中)有一些错误已在我的应用程序附带的版本中修复(1.8).

现在的问题是,为什么我首先要做到这一点呢?我原以为我的war文件中包含的库应该优先于Glassfish /modules目录中的任何库.

除了从应用服务器中删除jar之外,还有更简洁的方法吗?也许还有其他依赖这些罐子的应用......

另外,我们的GF2容器仍然存在问题,但我在/lib文件夹中找不到任何jackson库(/modulesGF3中没有文件夹).杰克逊可能藏在GF2中的任何线索(如果有的话)?

cxf glassfish jax-rs jackson

4
推荐指数
1
解决办法
3724
查看次数

如何将JAX-RS添加到现有项目

我正在使用Java EE,Java 1.7,glassfish 3和Eclipse Indigo。我有一个从本教程构建的现有Web项目:http : //www.tech-juice.org/2012/05/13/hello-world-with-jsf-2-0-glassfish-3-maven-svn -and-eclipse /#comment-10560。现在,我想将RESTful Web服务添加到项目中。我转到Project-> properties,Project Facets并检查JAX-RS。然后,我单击显示“需要进一步配置”的链接。我给一个servlet类名。现在,我被告知“必须至少选择一个用户库”。

这是什么意思?

我已经看过,但是没有看到有关将JAX-RS添加到现有项目的教程。

谢谢,斯科特

eclipse jax-rs java-ee

4
推荐指数
1
解决办法
2万
查看次数

什么Maven工件包含javax.ws.rs.Path?

我正在使用Bill Burke的JAX-RS Restful Java中的示例.我正在使用intellij并创建了一个Maven项目来创建一个"Hello World"Web服务.我知道JAX-RS是一个规范,而不是一个实现.我想尝试Apache CXF实现.

我如何找出什么jar,或Maven工件包含必要的类:

import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.GET;
Run Code Online (Sandbox Code Playgroud)

java jax-rs maven

4
推荐指数
2
解决办法
2万
查看次数

如何在没有web.xml的情况下在Glassfish 4中配置Swagger?

Swagger文档介绍了在应用程序中配置Swagger的多种不同方法.不幸的是,所有这些都利用web.xml并依赖于在web.xml中对api版本和基本URL进行硬编码

有没有办法在不使用web.xml的情况下配置Swagger并且没有对api版本和基本路径进行硬编码?

jax-rs swagger glassfish-4

4
推荐指数
1
解决办法
5006
查看次数

在这个例子中,使用子资源的PUT请求是如何由JAX-RS运行时处理的?

我正在阅读oracle docs中提供的Jersey Sample中的存储服务示例示例.

我只是无法理解JAX-RS运行时如何解决这个PUT请求?

curl -X PUT http://127.0.0.1:9998/storage/containers/quotes
Run Code Online (Sandbox Code Playgroud)

这是与此请求对应的代码段(取自上面的链接).

@Path("/containers")
@Produces("application/xml")
public class ContainersResource {
    @Context UriInfo uriInfo;
    @Context Request request;

    @Path("{container}")
    public ContainerResource getContainerResource(@PathParam("container") String container) {
        return new ContainerResource(uriInfo, request, container);
    }

    @GET
    public Containers getContainers() {
        System.out.println("GET CONTAINERS");

        return MemoryStore.MS.getContainers();
    }    
}
Run Code Online (Sandbox Code Playgroud)

但是你可以注意到,没有办法@PUT annotation.但是需要这种getContainerResource方法/containers/{container}.在此方法中,ContainerResource返回一个新实例.我不确定如何处理上述PUT请求.请解释.

这是ContainerResource class:

@Produces("application/xml")
public class ContainerResource {
    @Context UriInfo uriInfo;
    @Context Request request;
    String container;

    ContainerResource(UriInfo uriInfo, Request …
Run Code Online (Sandbox Code Playgroud)

jax-rs put jersey java-ee

4
推荐指数
1
解决办法
1211
查看次数

在泽西岛获得休息服务

我对Web服务非常陌生.我已经使用Jersey 2与Spring集成了一些REST服务.现在我需要使用用户名/密码进行身份验证来保护这些休息服务.我被告知不要使用Spring安全性.

我不知道该怎么做.我在网上搜索,但各种链接显示各种实现,我无法决定如何继续它.

我知道这是一个模糊的问题,但请在这方面提供帮助.

java rest jax-rs jersey jersey-2.0

4
推荐指数
1
解决办法
3914
查看次数

Restful webservices - NoClassDefFoundError:org/glassfish/jersey/ExtendedConfig

所以我在这个线程中创建了webservice ,最后我设法解决了这个问题.现在我正在尝试使用这个Web服务.

我在Netbeans上创建了一个新的Web项目,我正在使用Apache Tomcat.这是使用Web服务的代码.我已经通过一些教程来生成这段代码.

package com.client;

import java.net.URI;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;

import org.glassfish.jersey.client.ClientConfig;

public class HelloClient {


  public void consumeRest(){

    ClientConfig config = new ClientConfig();

    Client client = ClientBuilder.newClient(config);

    WebTarget target = client.target(getBaseURI());

    System.out.println("response");

    System.out.println(target.path("hello").path("world").request()

    .accept(MediaType.APPLICATION_JSON).get(Response.class)

    .toString());

    }


  private URI getBaseURI() {

    return UriBuilder.fromUri("http://localhost:8084/restful_example").build();

  }

} 
Run Code Online (Sandbox Code Playgroud)

我已经创建了一个主类来调用consume方法.当我运行它时,我得到这个例外:

Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/jersey/ExtendedConfig
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at …
Run Code Online (Sandbox Code Playgroud)

java rest web-services jax-rs jersey

4
推荐指数
2
解决办法
2万
查看次数

@FormParam转换为Spring MVC

我使用的是最新版本的Spring.我必须与公司A的第三方服务器集成.现在,公司A给了我这样的代码:

Path("/user")
public class CallBacks {

    String hostDB="jdbc:mysql://localhost:3306/matchmove";
    String username="root";
    String password="password";

      @POST
      @Path("/add")
    //  @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
      public Response receive(
        @FormParam("id") String id,
        @FormParam("amount") String amount,
        @FormParam("asset_code") String assetCode,
        @FormParam("asset_issuer") String assetIssuer,
        @FormParam("memo") String memo) throws NumberFormatException, SQLException {

return Response.ok().build();
}
Run Code Online (Sandbox Code Playgroud)

我想使用Spring,因为我的项目的其余部分是在Spring!有人可以就以下建议提出建议:

  1. 我可以使用哪种注释代替@FormParam
  2. 我可以用什么代替Response.ok().build()

谢谢

spring jax-rs

4
推荐指数
1
解决办法
2396
查看次数

构建期间发生错误.在项目上运行构建器'CDI(上下文和依赖注入)构建器'的错误

当我尝试编辑文件并保存更改时,我在Eclipse Oxygen中得到以下构建错误.

在此输入图像描述

Building workspace has encountered a problem.
Errors occurred during build.

Errors occurred during the build.
Errors running builder 'CDI (Contexts and Dependency Injection) Builder' on project 'EmployeesManagementSystem'.
Unknown tag! pos=4 poolCount = 18
Run Code Online (Sandbox Code Playgroud)

我已经尝试删除.metadataeclipse工作区的文件夹(如其他与构建错误相关的帖子中所建议的),但错误仍然存​​在.

java eclipse jax-rs jersey

4
推荐指数
1
解决办法
7463
查看次数

在Jboss EAP 7.2.0.GA中处理JSON序列化

在我的Jboss中,我尝试使用JAX-RS实现REST服务。它应该返回某些对象的JSON序列化版本

 @GET
  @Produces({ MediaType.APPLICATION_JSON })
  public BlacklistDTO getByName(
      @QueryParam("gav") final List<String> gavStringList)
  {
     ...
  }
Run Code Online (Sandbox Code Playgroud)

对象的某些部分未正确序列化(结果为空)。如何处理/自定义Jboss生成JSON的方式?

java jboss json jax-rs

4
推荐指数
1
解决办法
236
查看次数