使用Jersey的Java REST(JAX-RS) [英] REST with Java (JAX-RS) using Jersey

查看:97
本文介绍了使用Jersey的Java REST(JAX-RS)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过Java的Jersey(JAX-RS)开发了一个宁静的Web服务: http: //www.vogella.com/articles/REST/article.html

I developed a restful web service via Jersey in Java (JAX-RS) : http://www.vogella.com/articles/REST/article.html

然后我使用了Hibernate技术将数据映射到数据库.

Then I used the Hibernate Technology to map the data to the database.

最后,我开发了一个Android应用程序来显示数据.

Finally I developed an android application to display data.

这是Web服务中方法的示例:

This is an example of a method in my Web Service :

    @GET
    @Path("/project_id/username/get/{projectId}/{username}/")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Response deliverableList(@PathParam("projectId") long projectId,
                            @PathParam("username") String username) {
                Session session = HibernateUtil.getSessionFactory().getCurrentSession();
                session.beginTransaction();
                List<Deliverable> list = null;
                try {
                    list= (List<Deliverable>) session.createQuery(
                            "from Deliverable as d where d.project.id= :id").setLong("id", projectId).list();   
                    } catch (HibernateException e) {
                        e.printStackTrace();
                        session.getTransaction().rollback();
                    }
                    session.getTransaction().commit();
                    return Response.status(201).entity(list).build();
                }

如您所见,

我使用了"Response.status(201).entity(list).build()"来传输数据列表.这是个好方法吗?如果不是,您对传输数据的建议是什么.请通过一些代码和示例来支持您的解释.

as you see I used "Response.status(201).entity(list).build()" to transfer the list of data. Is it a good way? if not what is your suggestion to transfer the data. Please support your explanation with some codes and examples.

推荐答案

  1. Response.ok().enity(object).build()是返回数据的正确方法
  2. 您真的想将休眠的东西移动到数据访问层...将很难管理与您的服务层混合在一起的情况
  3. 我完全不同意使用帮助器方法将Java映射到json的smcg.除非您有非常复杂的要求,否则请使用bean上的jax-rs批注进行操作:请参阅 http://wiki.fasterxml .com/JacksonAnnotations

这篇关于使用Jersey的Java REST(JAX-RS)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆