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 後方即可?
: 以上問題還煩請知道的前輩教導一下, 感恩<(_ _)>