= ) exists
這樣做的天才在于:
RETURNING 子句中的子查詢首先執(zhí)行,因此它會在執(zhí)行 INSERT ON CONFLICT UPDATE 查詢之前確定該行是否存在。查詢的結果是名為“exists”的列,如果該行在查詢之前存在,則該列為 1。執(zhí)行,如果沒有執(zhí)行,則返回 0。
RETURNING 子句還可以返回行的列,包括未提供的任何生成內(nèi)容。
您只需弄清楚如何處理是否需要插入或更新,并進行一個簡單的抽象,您的所有 PUT 都可以調(diào)用它來處理 200 OK 或 201 Created。
使用的一個很好的好處PUT 的目的是,一旦您看到 POST,您就確定它不是檢索或持久性,相反,您知道搜索 POST 來查找任何不是檢索或持久性操作的代碼。
我認為按照 RFC 中的描述使用 PUT 和 POST 的好處超過了人們以不符合 RFC 的方式使用它們的任何原因。
路由網(wǎng)(www.lu-you.com)您可以查閱其它相關文章!