REST API for Java?
我正在准备一个基于控制台的应用程序,应用程序的结果是一个RDF / XML文件,其中包含我在LinkedIn上所有连接的数据。 现在问题是我的整个应用程序都是基于控制台的,我需要有一个REST API,以便与我的应用程序合并。
我不知道REST API以及如何将它与JAVA一起使用,但可以轻松浏览文档并理解它。 我的应用程序使用LinkedIn的REST API。
那么请您为一些优秀的Java API提供建议吗?
JAX-RS是RESTful Web服务的标准Java API。 Jersey是这方面的参考实现,它具有服务器端和客户端API(因此,将代码中的方法公开为RESTful Web服务的方法,以及与其他地方运行的RESTful Web服务进行通信的方式)。
还有其他JAX-RS实现,例如Apache CXF和JBoss RESTEasy 。
快速代码示例:
1)在你的pom中添加javax.ws.rs依赖项(如果使用Maven)或下载它。
javax.ws.rs jsr311-api 1.1.1
2)创建一个空类来定义服务的路径; 例如,在application/service/rest
听证会
import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @ApplicationPath("/service/rest") public class WebConfig extends Application { }
3)创建api的控制器。 例如,如果我们需要这些调用: application/service/rest/resource/{id}
一个简单的代码将是:
import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; @Path("resource/{id}") public class ApiController { /** * Call:
/service/rest/resource/23
* @return HTTP Response */ @GET public Response getResource(@PathParam("id") String anId) { Resource myResource = whatever.get(anId); return Response.status(Status.OK).entity(myResource).build(); }
4)如果我们想要指定JSON响应,请确保您拥有资源的getter并输入:
@GET @Produces("application/json") public Response getResource(@PathParam("id") String anId) { // the same }
如果您正在考虑在云中托管Java代码,Raimme Platform为您提供了一个仅使用一个注释公开REST API端点的好机会。
假设您有一个名为my.app.Customer
的数据库对象/表,并且您希望创建一个端点以返回与特定名称匹配的所有客户。 在Raimme中,您将实现如下:
@Rest(url = "customers/find") public List find(@Param("keyword") String keyword) { return { select id, name, company.name from my.app.Customer where name ilike '%#keyword%' }; }
您可以在此处找到更多信息: http : //raimme.com/devcenter?itemsId = 1cg000000000g