相关疑难解决方法(0)

JAX-RS/Jersey如何自定义错误处理?

我正在使用Jersey学习JAX-RS(又名JSR-311).我已经成功创建了一个Root资源并正在使用参数:

@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
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用,并处理当前语言环境中的任何格式,日期(字符串)构造函数(如YYYY/mm/dd和mm/dd/YYYY)可以理解这种格式.但是,如果我提供的值无效或无法理解,我会得到404响应.

例如:

GET /hello?name=Mark&birthDate=X

404 Not Found
Run Code Online (Sandbox Code Playgroud)

我该如何自定义此行为?也许是一个不同的响应代码(可能是"400 Bad Request")?记录错误怎么样?也许在自定义标题中添加问题描述("错误日期格式")以帮助排除故障?或者返回包含详细信息的完整错误响应以及5xx状态代码?

java rest error-handling jax-rs jersey

210
推荐指数
6
解决办法
16万
查看次数

RESTful on Play!骨架

我们正在计划一个主要为移动应用提供内容的项目,但需要有一个网站.

我的问题是使用Jersey或Restlet为我们的移动应用程序开发REST API是否有意义,然后使用Play!为网站服务.

或者只是使用Play更有意义!做到这一切?如果是这样,如何使用Play进行REST!框架?

java rest jersey restlet playframework

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

Google App Engine Java上的RESTful应用程序?

我想在Google App Engine上创建一个RESTful应用程序.我想提供XML和JSON服务.我简要地试过了Restlet,Resteasy和Jersey.除了Restlet中的一些简单示例之外,我没有取得任何成功.

您能否分享使用Java在Google App Engine上创建Restful Web应用程序的经验,或者提供有关GAE上述工具包的任何见解?

谢谢!

编辑(2009-07-25):

我决定暂时使用Restlet.到目前为止似乎完美无瑕.请发布您可能拥有的任何其他见解/意见.你遇到了什么问题?你在GAE/J上成功使用过Jersey/Restlet/Resteasy吗?如果是这样,我们想听听它!

java rest google-app-engine jersey restlet

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

关于使用Jersey和Guice进行RESTful服务的实用建议

从我在网上看到的情况来看,Guice + Jersey整合的最新技术水平自2008年以来一直停滞不前,似乎两支球队都陷入了僵局.问题的关键在于JAX-RS注释执行字段和方法注入,这与Guice自己的依赖注入不能很好地协作.

我发现的一些例子远远不足以阐明:

  • Iqbalyusuf 在Google App Engine上发布关于Jersey + Guice的帖子Java遭受了大量的样板(手动获取和调用注入器).我希望绑定和注入应该通过Guice注释在幕后发生.

  • Jonathan Curran的文章使用Jersey,Guice和JSR-250创建一个RESTful服务给了我希望,因为它更新(2010),但没有比显示如何在Guice ServletModule中启动Jersey服务更进一步.但是,没有任何实例依赖注入的例子.我想这是留给读者的练习.Curran的帖子实际上可能是连接Guice和Jersey的正确的第一步,所以我打算从那开始.

  • 令人着迷的詹姆斯斯特拉坎写道:

    JAX-RS适用于依赖注入框架,如Spring,Guice,GuiceyFruit或JBossMC - 你基本上可以选择你喜欢的任何一个.

    但是,从实践者的角度来看,我没有看到任何证据.

我发现缺少的是关于如何组合JAX-RS和Guice注释的实际示例和解释.例如:

  • 我相信我不能对任何资源使用构造函数注入,因为Jersey想控制它
  • 我不确定是否可以将@Inject与@PathParam,@ QueryParam等结合起来.
  • 如何在MessageBodyWriter实现中使用注入

有没有人有一些非平凡的应用程序的例子,最好是源代码,它结合了Jersey和Guice,而不会在这个过程中牺牲一个或另一个?无论如何我都会坚持这条道路,但泽西和吉斯的名单上的点点滴滴让我觉得我正在重复在我面前的其他人的工作.

java jax-rs jersey guice jsr330

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

在JAX-RS中将JSON解组为Java POJO

我希望获得每个Json格式化调用的键和值,并将它们用作Java对象,如String或Integer,在其他客户端我将输入{"Name":"HelloWorld"}

我会回到HelloWorld映射到它的Key到目前为止我见过的例子,但我只是很难找出每个标签做什么以及如何解析身体给出上述结果

@POST
    @Path("/SetFeeds")
    @Consumes(MediaType.APPLICATION_JSON)   
    @Produces(MediaType.APPLICATION_JSON) 
    @JsonCreator

        public String setFeed(String jsonBody,@Context UriInfo uriInfo){        
...Code to manipulate the body of the request 
            return response;

    } 
Run Code Online (Sandbox Code Playgroud)

java rest json jax-rs

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