【发布时间】:2013-02-15 07:38:46
【问题描述】:
有 Java 的 Restlet API 的简单例子吗?
我想要一个简单的 Restlet API 示例,通过调用 Get / POST 方法。一个客户端应该通过 Restlet 从服务器调用一种方法。服务器应该执行该方法并相应地发送回复。服务器如何打开这些方法来响应客户端使用 Restlet?
【问题讨论】:
有 Java 的 Restlet API 的简单例子吗?
我想要一个简单的 Restlet API 示例,通过调用 Get / POST 方法。一个客户端应该通过 Restlet 从服务器调用一种方法。服务器应该执行该方法并相应地发送回复。服务器如何打开这些方法来响应客户端使用 Restlet?
【问题讨论】:
这里是简单的代码,当它与 url 匹配时调用 amazon.java 休息类 http://anydomain.com/amazone 如果你在 url 中点击它而不是它调用的 get 方法
public class RestApi extends Application {
/**
* Creates a root Restlet that will receive all incoming calls.
*/
@Override
public Restlet createInboundRoot() {
Router router = new Router(getContext());
// Defines only one route
router.attach("/amazon", Amazon.class);
return router;
}
}
amazon.java
public class Amazon extends ServerResource {
@Override
protected Representation post(Representation entity)
throws ResourceException {
System.out.println("post Method");
return super.post(entity);
}
@Override
protected Representation get() throws ResourceException {
System.out.println("get method");
return super.get();
}
}
并在 web.xml 文件中映射为
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
<init-param>
<param-name>org.restlet.application</param-name>
<param-value>com.wa.gwtamazon.server.RestApi </param-value>
</init-param>
<!-- Catch all requests -->
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
【讨论】:
您可能需要考虑查看http://www.restlet.org/documentation/,该项目提供的文档提供了很好的示例来开始使用代码。
2.1 版目前是稳定的分支,可用于您的 ServerResource 的 @Get、@Post 等注释提供了比 Divyesh 概述的稍微灵活的方法,尽管我相信该方法仍然可用.
【讨论】: