设为首页 收藏本站
查看: 1208|回复: 0

[经验分享] Restlet入门例子

[复制链接]

尚未签到

发表于 2017-2-28 11:30:23 | 显示全部楼层 |阅读模式
  RESTful系列文章索引


  • Restlet入门例子 - RESTful web framwork for java
  • [原创]Jersey入门例子
  官方网站介绍:
  http://www.restlet.org/about/introduction
  什么是REST?
  表象化状态转变(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。
  论文中文下载地址: REST_cn架构风格与基于网络的软件架构设计.pdf
  需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。


  • 资源是由URI来指定。
  • 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。
  • 通过操作资源的表形来操作资源。
  • 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。
  下面是一个简单的restlet的Hello, World的例子
  依赖的jar: org.restlet.jar (使用的版本是restlet-jse-2.0.8)
  定义一个资源



import org.restlet.Server;
import org.restlet.data.Protocol;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;
public class FirstServerResource extends ServerResource {
public static void main(String[] args) throws Exception {
new Server(Protocol.HTTP, 8182, FirstServerResource.class).start();
}
@Get
public String toString() {
return "Hello, World!";
}
}

  new Server(Protocol.HTTP, 8182, FirstServerResource.class).start();
  这一句开启了一个web服务器, 这个是restlet自带的服务器(可能是jetty)
  运行结果如下:



2011-7-1621:15:35 org.restlet.engine.http.connector.HttpServerHelper start
信息: Starting the internal HTTP server on port 8182
  获取资源的方式



import java.io.IOException;
import org.restlet.resource.ClientResource;
import org.restlet.resource.ResourceException;
public class Client {
public static void main(String[] args) throws ResourceException, IOException {
new ClientResource("http://localhost:8182/").get().write(System.out);
}
}

  运行结果如下:



2011-7-1621:16:31 org.restlet.engine.http.connector.HttpClientHelper start
信息: Starting the default HTTP client
Hello, World!
  我们可以看到, 在Console中输出了Hello, World!
  可以为资源配置路径



import org.restlet.Application;
import org.restlet.Context;
import org.restlet.Restlet;
import org.restlet.Server;
import org.restlet.data.Protocol;
import org.restlet.routing.Router;
public class ServerApplication extends Application {
public static void main(String[] args) throws Exception {
new Server(Context.getCurrent(), Protocol.HTTP, 8182, FirstServerResource.class).start();
}
public ServerApplication(Context context) {
super(context);
}
@Override
public Restlet createInboundRoot() {
Router router = new Router(this.getContext());
router.attach("/hello", FirstServerResource.class);
return router;
}
}

  这样访问资源的时候就需要访问/hello这个URI



import java.io.IOException;
import org.restlet.resource.ClientResource;
import org.restlet.resource.ResourceException;
public class Client {
public static void main(String[] args) throws ResourceException, IOException {
new ClientResource("http://localhost:8182/hello").get().write(System.out);
}
}

  刚开始接触restlet, 还很不熟悉, 了解了一点, 写出来和大家分享一下, 如果有不正确的地方, 请大家指出!
  eclipse工程下载: Restlet.zip

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348393-1-1.html 上篇帖子: Flex 持续集成(CI)实践(Hudson) 下篇帖子: 学习WebX的一些小心得
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表