Re: [问题] restful api 设计

楼主: kewang (652公共汽车)   2015-06-09 19:35:01
1.
每种语言大都有基本的http request method可以用,所以常用的POST, GET, PUT, DELETE是没什么问题的。
2.
我们的做法是登入时丢id & password去server,然后会回传一组token,之后每个request只要带这个token来验就好了。
如果怕每次request都要验,太耗DB resource的话,就挡一层redis/memcached吧,操作memory比操作硬盘要快多了。
3.
大部分的method都支援query string,而body在常用的method只支援POST, PUT, PATCH。(到底其他method什么时候才要支援啦 orz)
另外推荐用postman/paw等工具来做测试。
※ 引述《swallowcc (罹患重度能年病的燕叔)》之铭言:
: 最近在研究restful api的设计,有几个疑问想请教一下大家,
: 新手上路,可能问题有些浅,还请多见谅。
: 1, 翻了一些文章,一般推荐是会使用 post/get/put/delete 去区分使用者动作,
: 不过像是 php 之类的呼叫 api 的时候,因为语言本身没有支援 put/delete
: 那实务上,通常是不去管这些,让呼叫的一方自行去想办法?
: 或者也会帮他们设计一些适用的方式?
: 2, 另外 authentication 这个部分,
: 是把 account/password base64 加盐后放进 header 透过 https 传递到 server 端,
: 不过这样的做法,不就每次都要query一次, server就得去db去确认身份吗?
: 实务上有没有什么比较长效性的认证方式,不用每次都要去 query,
: 或者有其他推荐的作法/keyword呢?
: 3, 目前是使用 httpClient 去测试 api,
: 不过put没办法传资料过去,也因为之前没使用过put,不太清楚资料传递的方式为何。
: 参照 HttpPost 的写法好像也不对,数据传不过去。
: 参照 HttpGet 的写法,虽然值接在 url 后面传递是可以传过去了,
: 但不晓得这样是不是正确的方法。
: 然后直接用 html 把 form method 设定成 put 也不支援这样的写法 囧rz
: 所以想问一下,HttpPut的传递方式是否跟GET相同,是附在 url 后方即可?
: 以上问题还烦请知道的前辈教导一下, 感恩<(_ _)>
作者: swallowcc (guest)   2015-06-09 20:00:00
感谢回复<(_ _)>

Links booklink

Contact Us: admin [ a t ] ucptt.com