标签: jax-rs

无法从START_OBJECT标记中反序列化java.util.ArrayList的实例

我正在尝试POST一个List自定义对象.请求正文中的我的JSON是这样的:

{
    "collection": [
        {
            "name": "Test order1",
            "detail": "ahk ks"
        },
        {
            "name": "Test order2",
            "detail": "Fisteku"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

处理请求的服务器端代码:

import java.util.Collection;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;


@Path(value = "/rest/corder")
public class COrderRestService {

    @POST
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public Response postOrder(Collection<COrder> orders) {
        StringBuilder stringBuilder = new StringBuilder();
        for (COrder c : orders) {
            stringBuilder.append(c.toString());
        }
        System.out.println(stringBuilder);
        return Response.ok(stringBuilder, MediaType.APPLICATION_JSON).build();
    }
}
Run Code Online (Sandbox Code Playgroud)

实体COrder:

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class …
Run Code Online (Sandbox Code Playgroud)

java spring jax-rs resteasy jackson

102
推荐指数
7
解决办法
29万
查看次数

@PathParam和@QueryParam有什么区别

我是RESTful球衣的新手.我想问一下是什么之间的不同@PathParam,并@QueryParam在球衣?

rest jax-rs jersey

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

JAX-RS中的Provider是什么意思?

任何人都可以向我解释一下JAX-RS Provider是什么以及'@Provider'注释的作用是什么?我一直在阅读文档,但我无法得到它.
如果有资源类为传入请求提供服务,那么提供商会做什么?当我创建一个持久资源类(不是每个请求的那个)时,它们与单例资源类有什么不同?或者那些类也是提供者?

java jax-rs jersey

93
推荐指数
3
解决办法
7万
查看次数

JAX-RS和JAX-WS有什么区别?

在阅读了一些关于JAX-RS和JAX-WS的文章之后,我有几个问题需要确认?

  1. JAX-RS可以像JAX-WS一样执行异步请求吗?
  2. JAX-RS可以访问未在Java平台上运行的Web服务,反之亦然?
  3. 什么是"REST对于有限配置的设备,如PDA和手机特别有用"是什么意思?
  4. "JAX-RS不需要XML消息或WSDL服务API定义是什么意思?

rest soap web-services jax-rs jax-ws

91
推荐指数
3
解决办法
10万
查看次数

如何获取Jersey JaxRS中的所有查询参数?

我正在构建一个通用的Web服务,需要将所有查询参数都抓取到一个字符串中以便以后解析.我怎样才能做到这一点?

java jax-rs jersey

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

Jersey vs jax-rs有什么区别

我真的不明白什么是球衣..

我所知道的是Jax-RS是一个用于构建REST Web服务的API,还有jersey?我得到了一些信息并且都说了同样的话:"球衣是Jax-RS的实现".但它意味着什么?

如果jax-rs是一个API,为什么我们需要jersey来创建一个休息Web服务?运动衫是否有更多的lib与jax-rs瞄准?如果是的话,jax-rs是一个不完整的API?

java jax-rs jersey

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

为什么要使用JAX-RS/Jersey?

对不起,这个问题听起来很愚蠢,但在使用Jersey开发我的一些RESTful服务后,我问自己一个问题 - 如果REST只是一个架构,而不是像SOAP这样的协议,为什么我们需要像JAX-RS这样的规范?

我实际上搜索了诸如"通过HTTP在servlet和RESTful服务之间有什么区别"之类的问题,并总结了社区的答案,我得到了:

  1. RESTful服务开发(在Jersey上)是一种体系结构,它本质上使用servlet.
  2. 像Jersey这样的JAX-RS兼容工具提供了简单的编组 - 解组XML/JSON数据,帮助开发人员.
  3. REST帮助我们以比普通servlet更高效的方式使用GET/POST/PUT/DELETE.

根据这些答案,我想如果我编写一个使用JAXB的servlet(用于处理自动序列化),并且我在servlet代码中有效地使用GET/POST/PUT/DELETE,我不使用像Jersey这样的工具,因此JAX-RS.

我知道通过这个声明我非常错误,请纠正我.

PS:当我不得不在PHP中开发一些RESTful服务时,实际上出现了这种疑问.在继续浏览一些RESTful PHP代码之后,我意识到它们只是相同的旧PHP脚本,并且有一些辅助方法来处理XML/JSON.

rest jax-rs jersey

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

单元测试JAX-RS Web服务?

我目前正在寻找为基于Web服务的JAX-RS(基于REST的Web服务的Java API)创建自动化测试的方法.

我基本上需要一种方法来发送它某些输入并验证我得到了预期的响应.我宁愿通过JUnit这样做,但我不确定如何实现.

您使用什么方法来测试您的Web服务?

更新:正如entzik指出的那样,将Web服务与业务逻辑分离后,我可以对业务逻辑进行单元测试.但是,我还想测试正确的HTTP状态代码等.

java junit unit-testing web-services jax-rs

78
推荐指数
5
解决办法
7万
查看次数

如何仅使用注释设置JAX-RS应用程序(没有web.xml)?

是否可以仅使用注释设置JAX-RS应用程序?(使用Servlet 3.0和JAX-RS Jersey 1.1.0)

我试过,没有运气.web.xml似乎需要使用一些.


配置A(工作,但具有web.xml配置)

web.xml中

   ...
   <servlet>
      <servlet-name>org.foo.rest.MyApplication</servlet-name>
   </servlet>
   <servlet-mapping>
       <servlet-name>org.foo.rest.MyApplication</servlet-name>
       <url-pattern>/*</url-pattern>
   </servlet-mapping>
   ...
Run Code Online (Sandbox Code Playgroud)

Java的

@ApplicationPath("/")
public class MyApplication extends Application {
    ...
}
Run Code Online (Sandbox Code Playgroud)

配置B(不工作,抛出异常)

@ApplicationPath("/")
@WebServlet("/*") // <-- 
public class MyApplication extends Application {
    ...
}
Run Code Online (Sandbox Code Playgroud)

后者似乎坚持认为Application将是Servlet的子类(例外不会留下任何猜测)

java.lang.ClassCastException: org.foo.rest.MyApplication cannot be cast to javax.servlet.Servlet
Run Code Online (Sandbox Code Playgroud)

问题

  1. 为什么web.xml定义有效,但注释没有?有什么不同?

  2. 有没有办法使它工作,例如有一个没有web.xml的JAX-RS应用程序?

java jax-rs java-ee servlet-3.0

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

如何选择Jersey,Apache Wink和JBoss RESTEasy?

我刚刚听说过Apache Wink,我想知道它与JerseyJBoss RESTEasy相比有什么不同.在其他两个不能做的事情中可以做些什么?

我们一直在使用Jersey进行一些内部项目,主要是因为它的简单性,但我无法弄清楚是什么让其他两个更好,我会考虑切换.有没有人有任何用例,其中每个填充利基?

apache jax-rs jersey resteasy

75
推荐指数
3
解决办法
5万
查看次数