当前位置: 代码迷 >> Java面试 >> 什么样的作风才叫RESTFUL
  详细解决方案

什么样的作风才叫RESTFUL

热度:70   发布时间:2016-04-17 00:22:24.0
什么样的风格才叫RESTFUL
看了一些相关的资料说RESTFUL风格可以提高项目的性能,而且现在到处都在说我们项目是REST风格,我想问到底什么样的风格才是REST风格的,求来点例子简单说明一下,讲的通俗易懂一点
------解决思路----------------------
就像你帖子的这个链接 http://bbs.csdn.net/topics/390908212  最后这个应该是帖子的Id或者一个id的映射, 这样在url里的数据可以传到request里面被后台程序获取。

我就知道这么多
------解决思路----------------------
传统的URL都是XXX?XX=XXX是什么都可以猜出来,后来加密之后发送到后台,然后就出现了所谓的REST 比较流行,但是 有好有坏,用起来灵活的东西 也比较复杂,稍微不注意 就很悲催
------解决思路----------------------
比如本帖url
http://bbs.csdn.net/topics/390908212
如果是非rest风格有可能是http://bbs.csdn.net/topics?tid=390908212


理解RESTful架构
RESTful API 设计指南
------解决思路----------------------
RESTFUL的主要好处是可读性
------解决思路----------------------
RESTful目前只知道有这样一种提法,没见有强制性的要求什么样的才叫RESTful。也没见有什么框架帮你来实现RESTful(刚才搜一下,好像有框架,轻量级框架,没用过),我理解的RESTful是:
1. 使用http协议;
2. 使用GET POST PUT DELETE来区分请求操作的类别,但这不是必须的,你完全可以GET请求发来但请求的方法是删除一条数据,只是建议用这四种操作来区分;
3. 可以把RESTful理解成远程方法调用,实际上就是面向服务编程(SOAP),访问远程一个服务,那个服务是用什么实现的怎么实现的你不用考虑,只要知道GET http://xxx/method/?arg0=1&arg1=2这样就能调用method方法传两个参数,拿到返回值,它比webservice更容易理解,更直观,也更轻量级;
4. 尽量使用stateless,即无状态的请求,就是每个请求都与前后的请求无关,不保留每次请求的状态,即server端没有session的概念,但有时我们确实需要知道一组请求是来自同一个客户端的请求序列,一般用token传递的方式来实现;

去读一下腾迅的或百度的openAPI,并且下载个腾讯的openAPI客户端,读一下示例代码或照着写一个程序,应该可以更多理解一下restful,这些openAPI一般是restful的,但restful也没有硬规范,所以他们实现时也不是严格的restful
------解决思路----------------------
引用:
RESTful目前只知道有这样一种提法,没见有强制性的要求什么样的才叫RESTful。也没见有什么框架帮你来实现RESTful(刚才搜一下,好像有框架,轻量级框架,没用过),我理解的RESTful是:
1. 使用http协议;
2. 使用GET POST PUT DELETE来区分请求操作的类别,但这不是必须的,你完全可以GET请求发来但请求的方法是删除一条数据,只是建议用这四种操作来区分;
3. 可以把RESTful理解成远程方法调用,实际上就是面向服务编程(SOAP),访问远程一个服务,那个服务是用什么实现的怎么实现的你不用考虑,只要知道GET http://xxx/method/?arg0=1&arg1=2这样就能调用method方法传两个参数,拿到返回值,它比webservice更容易理解,更直观,也更轻量级;
4. 尽量使用stateless,即无状态的请求,就是每个请求都与前后的请求无关,不保留每次请求的状态,即server端没有session的概念,但有时我们确实需要知道一组请求是来自同一个客户端的请求序列,一般用token传递的方式来实现;

去读一下腾迅的或百度的openAPI,并且下载个腾讯的openAPI客户端,读一下示例代码或照着写一个程序,应该可以更多理解一下restful,这些openAPI一般是restful的,但restful也没有硬规范,所以他们实现时也不是严格的restful


有啊,Java EE 5 就把 JAX-RS 纳入其中了,JAX-RS 是 REST 在 Java EE 中的规范 API,开源框架最常用的有 Jersey(https://jersey.java.net/)
  相关解决方案