在restful api 设计中,如果要获得一个资源,一定要用GET方法么?

查看:283
本文介绍了在restful api 设计中,如果要获得一个资源,一定要用GET方法么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我对restful不是非常的理解,在一些文章中,看到获取资源的时候,一般用GET方法。我的问题是,我要获取的资源是一个账户的信息,需要实用token,我一般把token放在POST请求里面,当然也可以将token放在连接中使用GET。

所以我很想知道,一般在实际的项目中,是怎么做的呢?

//补充问题:
我现在在做一个学生水平的小项目(比较菜),我用node.js做后端,但是native app和web用了一个后端。

那么我后端的形式类似

router.route('/account/address')
    .get{//获得关于管理地址的网页而非用户地址的数据
        send(web page)
    }
    .put{//增加一条地址
        var addr
        Account.putAddress
        send(addr)
    }
    .delete{//删除一条地址
        var addr
        Account.deleteAddress(addr)
        send(success)
    }

实际上是我将get方法用作访问web页面(也是获取资源的一种,但是并非获取一些json串数据)。所以get被占用了,所以我才会有这种问题的。

也不知道实际的工作中app和web的后端是不是一套,或者设计api的时候有没有完全遵循restful-api?

解决方案

postgetputdeleteoptionhead等请求方法,都是http method。具体的每种请求方法的作用都在http中定义了。在http中,post一般用于创建新的资源,put用于资源的更新,get用与获取资源等。所以使用post也可以获取资源,使用get也能创建资源或者更新资源,但一般不推荐,这里类似软件开发中的业界约定。
在Restful风格请求中,继续沿用这些特征。同时对url做了一些规范,对运维更加友好。
针对你说的token这个事情,在我项目中会使用post请求根据用户信息获取一个token,然后拿着token用get方法请求资源。另外,我也会将token放到http请求头中。
以上是个人工作经验,希望对你有帮助

这篇关于在restful api 设计中,如果要获得一个资源,一定要用GET方法么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆