在JAVA中基于休息的Web服务

时间:2012-05-11 07:13:56

标签: java servlets spring-mvc jax-rs

在Java中实现基于ReST的Web服务的最佳方法是什么。我应该去JAX-RS实现吗?或者我应该去Spring MVC还是直接通过Servlets?那么这些与实际差异是什么?

5 个答案:

答案 0 :(得分:3)

我更喜欢使用JAX-RS,它需要为同样的结果少写。

Spring MVC:

@Controller
@RequestMapping(value = "/convert", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public class ConversionController extends BaseController {

    @RequestMapping(method = RequestMethod.POST, produces = MediaType.APPLICATION_XML_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody
    public String jsonToXml(@RequestBody String jsonString) throws JSONException {
        //method body
    }
}

JAX-RS:

@Path("/venue")
@Consumes(Const.FORMAT_APPLICATION_JSON_UTF8)
@Produces(Const.FORMAT_APPLICATION_JSON_UTF8)
public class ConversionController 
{
    @POST
    public Venue addVenueToDatastore(Venue aVenue) {
         //method body
    }
}

答案 1 :(得分:1)

您应该使用JAX-RS实现。我推荐JerseyResteasy。 Spring MVC有点冗长。

答案 2 :(得分:0)

我使用VRaptor MVC framework以更简单的方式构建RESTful和面向服务的应用程序,就像我编写常见的Web应用程序一样......可能值得一看ten minutes guide

答案 3 :(得分:0)

我在Spring MVC和Jersey中开发了REST服务。 如果您只需要创建REST api,请使用JERSEY,如果您的项目比REST Api更多,则可以使用Spring MVC。一些有用的链接如下 -

http://www.ibm.com/developerworks/web/library/wa-aj-tomcat/

http://jersey.java.net/

答案 4 :(得分:0)

我正在使用Play Framework进行Web服务。以下是一些example如何操作。