我正在准备一个基于控制台的应用程序,该应用程序的结果是一个RDF/XML文件,其中包含来自LinkedIn的所有连接的数据。现在问题是我的整个应用程序都是基于控制台的,我需要有一个REST API以便与我的应用程序结合。适用于Java的REST API?
我不知道REST API以及如何在JAVA中使用它,但可以轻松地通过文档并理解它。我的应用程序使用LinkedIn的REST API。
那么你能为Java提供一些好的REST API吗?
我正在准备一个基于控制台的应用程序,该应用程序的结果是一个RDF/XML文件,其中包含来自LinkedIn的所有连接的数据。现在问题是我的整个应用程序都是基于控制台的,我需要有一个REST API以便与我的应用程序结合。适用于Java的REST API?
我不知道REST API以及如何在JAVA中使用它,但可以轻松地通过文档并理解它。我的应用程序使用LinkedIn的REST API。
那么你能为Java提供一些好的REST API吗?
JAX-RS是RESTful Web服务的标准Java API。 Jersey是这方面的参考实现,它具有服务器端和客户端API(所以,将代码中的方法公开为REST风格的Web服务,以及与其他地方运行的REST风格的Web服务对话的方式)。
还有其他JAX-RS的实现,例如Apache CXF和JBoss RESTEasy。
非常感谢......在介绍了很多之后,我认为这对于初学者来说是最好的和最简单的方法。 –
你能给我推荐一些上面的例子吗? –
泽西岛有一个很好的[用户指南](http://jersey.java.net/nonav/documentation/latest/user-guide.html#d4e8)。 – Jesper
快速的代码示例:
1)添加javax.ws.rs依赖于你的POM(如果使用Maven)或下载。
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
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: <code>/service/rest/resource/23</code>
* @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响应是确保您有干将为您的资源和类型:
@GET
@Produces("application/json")
public Response getResource(@PathParam("id") String anId) {
// the same
}
如果您正在考虑在云中托管您的Java代码,Raimme Platform为您提供了一个很好的机会,只需一个注释就可以公开一个REST API端点。
假设您有一个名为my.app.Customer
的数据库对象/表,并且您希望创建一个端点来返回所有匹配某个名称的客户。
@Rest(url = "customers/find")
public List<Customer> find(@Param("keyword") String keyword)
{
return { select id, name, company.name from my.app.Customer where name ilike '%#keyword%' };
}
你可以找到更多在这里:在Raimme,你可以按如下方式实现这一目标。http://raimme.com/devcenter?questionId=1cg000000000g
如果我理解正确的话,尝试[这]链接(http://blogs.oracle.com/enterprisetechtips/entry/consume_restful_web_services_with) –