如何将Java应用程序转换为REST?

时间:2014-07-09 12:33:39

标签: java web-services rest web

我试图在我已经构建的其他应用程序中使用REST,并且我有一些问题。

应用程序是一个Java应用程序,它从服务器获取信息(int和字符串)。 我找到了Jersey框架,并且我试图集成到应用程序中。


应用程序的结构是:

->start main()
-> get information()
-> print information()
... and other methods... but for now, just to understand.. just leave it simple...

现在我想...

->start main()
-> get information()
-> send information() - I now that must be put() a different server

架构

win server <-> Java application -> http Server

问题 1 - 我可以在Java应用程序中使用REST,还是必须重建才能支持REST?

2 - 我可以在没有任何服务器的情况下使用REST(例如:tomcat)。如何?

1 个答案:

答案 0 :(得分:0)

请在下面找到您的问题的答案

问)我可以在Java应用程序中使用REST,还是必须重建才能支持REST?

Ans) - RESTful Web服务公开一组资源(可以是您的java方法),用于标识与其客户端交互的目标。资源由URI标识,为资源和服务发现提供全局寻址空间

您的方法将充当资源,并且URL将链接到这些资源以公开它们。 您无需再次重建您的Java应用程序 我使用Apache cxf在我的spring-ioc应用程序中公开了资源。

@WebService(serviceName = "vertragServices")
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public interface VertragService {

    @GET
    @Produces("application/json")
    public abstract @ResponseBody VertragList getRequirementList();

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/{id}")
    public abstract Vertrag getRequirement(@PathParam("id") long id);


    @PUT
    @Produces(MediaType.TEXT_PLAIN) 
    public @ResponseBody String updateRequirement (Requirement requirement);
}

问) - 我可以在没有任何服务器的情况下使用REST(例如:tomcat)。如何?

Ans) - Representational State Transfer(REST)是一种体系结构样式,它指定约束,例如统一接口,如果应用于Web服务,则会产生所需的属性。它仅适用于Web应用程序,必须应用于您需要服务器的Web服务。 资料来源:http://docs.oracle.com/javaee/6/tutorial/doc/gijqy.html