如果只发送路径变量和 header 中的 key-value 对来触发业务逻辑,应该使用哪种 REST 方法?

Which REST method to use if only sending path variable and key-value pair in header to trigger business logic?

我正在开发 web-game 用于培训目的。在这个项目中,我使用 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验证玩家特定资源的数量,然后减少它们并通过传递的[=提升公司的星级值14=]。所以一切都是在没有请求的情况下完成的 body.

知道我想知道我应该使用哪种 REST 方法来完成它。我应该使用 POST 还是 PATCH 或者对于没有请求 body 但发送路径变量和请求 header 的情况是否有另一种方法?有处理这种情况的最佳做法吗?

我尝试查找其他帖子,但我很难在 google 搜索中简要说明我的问题,因此结果不适用于我的问题。因此,我很高兴看到其他帖子的提示。

我认为在您的情况下您可以使用 PUT,但这是一个 link 可以帮助您了解哪种方法用于 Click

您提到您的操作不是幂等的。在这种情况下,POST 将满足您的需求,并且或多或少将是 RESTfull。