REST参数问题浅显的思考

看见一些这方面的讨论,和这段时间基于Rails的REST试验的感受,谈谈个人的看法。
其实这个题目有点不达意,REST根本不会有参数。也正因为这一点,非REST的Web程序遗留下来的思维--url有时需要参数来生成不同视图或资源,有些人认为REST可能办不到或者是需要解决的。其实一个REST架构的程序中这个问题是根本不存在的,绝对不需要考虑的。
如果非要从着非REST的思维来看,“解决”REST“参数”的办法如下:
1.“参数”隐含在URL中
REST把每个Web的东西看成资源,而每个资源都有唯一的标识。也就是说给予不同的URL会标识不同的资源,需要传递的‘参数’就包含在URL之中了。
如:.../form_do.jsp?id=5&flag=modify&type=1(这是以前项目的例子)其中flag代表操作、type代表模型类的类型。在Rails中会表示成为/controller_name/5;edit,Rails中我们用不同的控制器去操作不同的模型,所以这里controller_name就是前面type这个参数。前面的URL参数flag为delete、update、add(new)是一样的道理的。

2.使用POST
Rails的REST还没有做到所有的资源都能用URL标识,比如说:搜索。给定的关键词搜索后得到的东西也就是资源,还不能用唯一URL标识。
http://www.iteye.com/topic/70113这里已经描述解决方法了。

在使用REST架构程序时,仔细的设计程序的架构,使用嵌套资源(Nested Resources)也会去掉一些关于“参数”考虑。
我使用REST架构程序时,刚开始还考虑参数传递的的问题,随着学习的深入反而参数的问题消失的无影无踪。使用REST架构程序与大原先方式一样自然。

以上不知妥不妥,欢迎指正。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值