Questions tagged «jersey»

Jersey是用于构建RESTful Web服务的开放源代码,生产质量的JAX-RS(JSR 311,JSR 339)参考实现。

4
用于Web服务响应的text / xml与application / xml之间有什么区别
这是更多的区别一般问题text/xml和application/xml。我是写Web服务的新手(REST-Jersey)。我一直在制作,application/xml因为它是我一直在学习的大多数教程/代码示例中所显示的内容,但是最近我发现了它,text/xml并想知道它有什么不同之处以及何时使用它application/xml?
494 xml  rest  jersey 

11
JAX-RS / Jersey如何自定义错误处理?
我正在使用Jersey来学习JAX-RS(又名JSR-311)。我已经成功创建了一个根资源,并且正在使用参数: @Path("/hello") public class HelloWorldResource { @GET @Produces("text/html") public String get( @QueryParam("name") String name, @QueryParam("birthDate") Date birthDate) { // Return a greeting with the name and age } } 这很好用,并且可以处理Date(String)构造函数可以理解的当前语言环境中的任何格式(例如YYYY / mm / dd和mm / dd / YYYY)。但是,如果提供的值无效或无法理解,则会收到404响应。 例如: GET /hello?name=Mark&birthDate=X 404 Not Found 如何自定义此行为?也许是不同的响应代码(可能是“ 400 Bad Request”)?记录错误该怎么办?也许在自定义标题中添加问题描述(“错误日期格式”)以帮助进行故障排除?还是返回带有详细信息的完整错误响应以及5xx状态代码?

4
JAX-RS和Spring Rest之间的区别
我对JAX-RS(由于JAX-RS只是规格)也许应该使用Jersey进行比较)与Spring for Restful服务之间的区别感到困惑。我试图在网上搜索更多信息,但变得更加混乱。我公司正在使用Spring MVC开发Restful API 令人困惑的部分是,JAX-RS代表用于RESTful Web服务的Java API,在春季,我还使用Java来开发RESTful Web服务,因此我实际上并没有区别。Spring是否遵循JAX-RS规范? 从我所知道的到现在: JAX-RS是一个蓝图/规范,它具有Jersey,RESTeasy等实现。

1
如何在RESTful POST方法中访问参数
我的POST方法看起来像这样: @POST @Consumes({"application/json"}) @Path("create/") public void create(String param1, String param2){ System.out.println("param1 = " + param1); System.out.println("param2 = " + param2); } 当我在Netbeans中创建Jersey客户时,调用post方法的方法如下所示: public void create(Object requestEntity){ webResource.path("create").type(MediaType.APPLICATION_JSON).post(requestEntity); } 运行此测试时: @Test public void hello(){ String json = "{param1=\"hello\",param2=\"hello2\"}"; this.client.create(json); } 它在服务器中提供以下输出: INFO: param1 = {param1="hello",param2="hello2"} INFO: param2 = 我需要更改什么才能使参数给出正确的值?

6
休息愉快!构架
我们正在计划一个主要为移动应用程序提供内容的项目,但需要有一个网站。 我的问题是,使用Jersey或Restlet为我们的移动应用程序开发REST API,然后使用Play有意义吗?服务网站。 还是只使用Play才有意义?做这一切?如果是这样,如何使用Play做REST!框架?

10
使用JERSEY输入和输出二进制流?
我正在使用Jersey来实现一个RESTful API,该API主要是检索和提供JSON编码的数据。但是在某些情况下,我需要完成以下任务: 导出可下载的文档,例如PDF,XLS,ZIP或其他二进制文件。 检索多部分数据,例如一些JSON以及上载的XLS文件 我有一个基于页面的基于JQuery的Web客户端,该客户端创建对此Web服务的AJAX调用。目前,它不执行表单提交,而是使用GET和POST(带有JSON对象)。我应该利用表单发布来发送数据和附加的二进制文件,还是可以使用JSON和二进制文件创建多部分请求? 我的应用程序的服务层当前在生成PDF文件时会创建一个ByteArrayOutputStream。通过Jersey向客户输出此流的最佳方法是什么?我已经创建了一个MessageBodyWriter,但是我不知道如何从Jersey资源中使用它。那是正确的方法吗? 我一直在浏览Jersey附带的示例,但还没有发现任何说明如何执行这些操作的示例。如果有关系,我将Jackson与Jackson一起使用Jersey来执行Object-> JSON,而无需执行XML步骤,并且实际上并没有利用JAX-RS。
111 java  jersey  jax-rs 

3
JAX-RS中的提供者是什么意思?
谁能向我解释什么是JAX-RS提供程序,什么是'@Provider'注释?我一直在阅读文档,但无法理解。 如果存在为传入请求提供服务的资源类,提供者将做什么?当我创建一个持久性资源类(不是每个请求一个)时,它们与单例资源类有何不同?还是那些课程也是提供者?
110 java  jersey  jax-rs 

8
Jersey 2.0的依赖注入
从没有任何Jersey 1.x知识的白手起家,我很难理解如何在Jersey 2.0项目中设置依赖项注入。 我也知道HK2在Jersey 2.0中可用,但是我似乎找不到帮助Jersey 2.0集成的文档。 @ManagedBean @Path("myresource") public class MyResource { @Inject MyService myService; /** * Method handling HTTP GET requests. The returned object will be sent * to the client as "text/plain" media type. * * @return String that will be returned as a text/plain response. */ @GET …

4
从REST Web服务向客户端发送文件的正确方法是什么?
我刚刚开始开发REST服务,但是遇到了一个困难的情况:将文件从REST服务发送到客户端。到目前为止,我已经掌握了如何发送简单数据类型(字符串,整数等)的窍门,但是发送文件却是另一回事,因为存在太多的文件格式,我什至不知道从哪里开始。我的REST服务是在Java上完成的,并且我正在使用Jersey,我正在使用JSON格式发送所有数据。 我已经读过有关base64编码的信息,有人说这是一种好技术,而其他人则说这不是因为文件大小问题。正确的方法是什么?这是我项目中一个简单的资源类的样子: import java.sql.SQLException; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Request; import javax.ws.rs.core.UriInfo; import com.mx.ipn.escom.testerRest.dao.TemaDao; import com.mx.ipn.escom.testerRest.modelo.Tema; @Path("/temas") public class TemaResource { @GET @Produces({MediaType.APPLICATION_JSON}) public List<Tema> getTemas() throws SQLException{ TemaDao temaDao = new TemaDao(); List<Tema> temas=temaDao.getTemas(); temaDao.terminarSesion(); return temas; } } 我猜发送文件的代码是这样的: import …
103 java  json  web-services  rest  jersey 


5
Jersey和jax-rs有什么区别
我真的不明白什么是球衣。 我所知道的是Jax-RS是用于构建REST Web服务和jersey的API?我得到了一些信息,所有人都说相同:“球衣是Jax-RS的实现”。但这意味着什么? 如果jax-rs是API,为什么我们需要jersey来创建rest Web服务?球衣是否是针对Jax-rs的更多解放?如果是,jax-rs是不完整的API?
94 java  jersey  jax-rs 


6
杰克逊+建设者模式?
我希望Jackson用以下构造函数反序列化一个类: public Clinic(String name, Address address) 反序列化第一个参数很容易。问题在于地址定义为: public class Address { private Address(Map<LocationType, String> components) ... public static class Builder { public Builder setCity(String value); public Builder setCountry(String value); public Address create(); } } 并构造如下: new Address.Builder().setCity("foo").setCountry("bar").create(); 有没有办法从Jackson那里获取键值对,以便自己构造地址?另外,是否有办法让Jackson本身使用Builder类?
89 java  json  jersey  jackson 

4
球衣:打印实际请求
我如何查看Jersey生成并发送到服务器的实际请求?我在处理特定请求时遇到问题,正在运行网络服务器的同伴要求查看完整的请求(带有标头等)。
88 java  jersey 

17
java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer
我正在尝试使用Jersey + Google应用引擎构建一个简单的hello world应用程序,为期两天。对于简单的AppEngine项目,我遵循了这些教程,并且都可以正常使用 https://developers.google.com/appengine/docs/java/gettingstarted/创建 https://developers.google.com/appengine/docs/java/webtoolsplatform 但是现在我试图添加Jersey并遵循本教程http://www.vogella.com/articles/REST/article.html。 但是服务器一直在给我 java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer 当我在web.xml中添加这些行时: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>TestServer</display-name> <servlet> <servlet-name>Jersey REST Service</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>com.test.myproject</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey REST Service</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> 我JAX-RS 2.1 RI bundle从这里下载了Jersey ,并WEB-INF/lib按照教程中的说明将所有jar文件添加到了文件夹中。即使经过两天,也没有任何效果。我已经在Google上搜索过几次,显然使用Maven的人已经以某种方式解决了它,但是我没有使用Maven,编写该教程的人也没有。 只是为了检查com.sun.jersey.spi.container.servlet.ServletContainer导入中是否存在, Jersey jars我试图用Java编写这个完全限定的名称,并让intellisense完成名称,但是之后我却没有得到任何intellisense,com.sun.je所以我的最后猜测是在最新的Jersey版本中进行了一些软件包重新排列而jersey不再是内部的com.sun。我筋疲力尽,我将不胜感激。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.