各位前輩大大好
小弟在寫api的時候有一段邏輯卡住想不出來
想請各位集思廣益或是提點一下方向
我現在有一隻api是update
假設:
有一份文章有一個GUID,文章內有許多item,各自擁有不同的GUID
item可能代表各種不同的段落(標題、文字、圖片等等),但其類型會重複
在我要update一篇文章時,會是每個item獨立呼叫一次api,把該item送進後台處理後update
在資料庫內,item有一個able欄位來判斷在這份文章內這個item是否是可用的
如果是1就是可用,如果是2則不可用(不可用時在取得文章item的時候就不會撈出來)
我的問題是:
當我在update的時候,會有刪減的item,比方說10個item剩下9個
在如何針對地把刪減的item設為able=2,並且只靠後端檢查
不額外呼叫其他api
原先嘗試的作法是UPDATE方法的一開始就把所有屬於這個文章的item的able都設為2 (不啟用)
但由於每個item都會呼叫一次api,就會把所有人重複的設為2,所以這個做法顯然不對
item的db結構為:
articleId:Guid,文章id,同文章的item都會是同一個articleId
itemId:Guid,各種不同型態的文章item,型態會重複
able:int,是否在該文章為有效item
createtime:datetime,建立時間
lastmodified:datetime,有異動內容就會更新為當下DB時間
現在有一隻api是update
要update一篇文章時,會是每個item獨立呼叫一次api
依上兩點決定新增 item 怎麼做,刪減 item 就怎麼做
若新增 item 是:
1.呼叫「新增 item API」---> 寫個/呼叫「刪減 item API」
2.在「update item API」裡新增 ---> 複製並修改成「刪減 item」功能
我只做提示
你不要去想如何去判斷「設定」數值。
你要改個方向。
你要如何去原值 +1或-1。而不是原值判斷給與=1
這樣提示看你能不能理解。
例:
a=a+1