![](/img/trans.png)
[英]How to use own query for save operation when extending crud repository?
[英]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.