0
我正在開發一個rest-api。 我的API映射一個查詢字符串,如:[email protected]&gender=MALE
在SQL語句:where email = [email protected] and gender = MALE
查詢字符串vs SQL過濾器語句
那麼,爲什麼不通過SQL statament只用POST方法,而不是得到什麼?
有什麼最佳實踐嗎?
我正在開發一個rest-api。 我的API映射一個查詢字符串,如:[email protected]&gender=MALE
在SQL語句:where email = [email protected] and gender = MALE
查詢字符串vs SQL過濾器語句
那麼,爲什麼不通過SQL statament只用POST方法,而不是得到什麼?
有什麼最佳實踐嗎?
因爲那不會是REST,所以它會像SOAP一樣。
REST是關於它們的資源和操作。如果您在使用HTTP實現REST,有HTTP動詞應該被用於specifict操作:
GET
是獲取資源POST
是一個集合中創建新的資源(加上一些特殊情況下PUT
是改變現有資源DELETE
是刪除現有資源帖動詞必須遵循特定的行爲。其中之一是,GET
不得更改資源,而POST
通常不會更改它。
使用POST
而不是GET
違反REST和所有已建立的標準。
爲什麼不能通過只用POST
的SQL statament因爲這會暴露你的執行情況向用戶詳細信息。這可能會打開安全漏洞。 REST是關於資源的抽象,而不是簡單的公開數據庫的方式。