簡體   English   中英

其余哪些操作可使用發布或刪除?

[英]which crud operation in rest to use post or delete?

我創建了一個銀行應用程序,我想在其中編寫休息服務以刪除帳戶。 因此我們需要一個帳號。 出於安全考慮,我認為我無法在url中傳遞帳號no。 所以我在請求正文中傳遞了它。 我認為,如果我嘗試將其與delete一起使用,它將運行良好,但再次可能是安全問題。 所以在那種情況下,我需要使用post而不是delete以便我可以在請求正文中傳遞帳號no嗎?

     @PostMapping("/account")
        public void deleteAccount(@RequestBody @Valid final AccountNoDto accountNoDto) {
            return accountService.deleteAccount(accountNoDto);
        }
or

  @DeleteMapping("/account/{accountNo}")
    public void deleteAccount(@PathVariable Long accountNo) {
        return accountService.deleteAccount(accountNo);
    }

您應該使用@DeleteMapping,因為您要刪除一條記錄。 HTTP動詞應與該功能兼容。

但是不要將帳號和端點一起發送。 將端點寫為-

@DeleteMapping("/account")

應該在后端從您將與請求一起發送的令牌中檢索帳號。因此,所有請求GET,POST,PUT,DELETE都將具有相同的uri,並且將從后端的令牌中獲取帳號。 如果您想知道春季如何完成此操作,請閱讀有關SecurityContextHolder類的信息。

理念上,我們使用@DeleteMapping進行刪除操作,並使用@PostMapping進行新的數據創建和更新。 我不認為帳戶ID是要在網址中顯示的敏感信息。 你可以去@DeleteMapping

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM