我正在开发一个用于培训目的的网页游戏。在这个项目中,我使用 Spring-Boot 和 REST 端点来执行 CRUD 操作并触发业务逻辑方法。 我的一个端点看起来像这样:
@PatchMapping("companies/{companyId}/upgrade-star-value")
@ResponseBody
public String upgradeStarValue(@PathVariable int companyId, @RequestHeader(name = "playerId") int playerId)
throws GameLogicException {
return companyBusinessLogicService.upgradeStarValue(playerId, companyId);
}
此端点的目的是触发一种方法,该方法使用传递的playerId
验证玩家的特定资源量,然后减少它们并使用传递的companyId
升级公司的星级值。因此,一切都在没有请求正文的情况下完成。
知道我想知道我应该使用哪种 REST 方法来实现这一目标。我应该使用POST
还是PATCH
,或者对于不发送请求正文但发送路径变量和请求标头的情况,是否有另一种方法?是否有处理此类情况的最佳实践?
我试图查找其他帖子,但我很难在谷歌搜索中简要表达我的问题,所以结果不适用于我的问题。因此,我很高兴对其他帖子的提示。
我认为在您的情况下您可以使用 PUT,但这是一个链接,可以帮助您了解用于单击
您提到您的操作不是幂等的。在这种情况下,开机自检将满足您的需求,并且或多或少会休息。