具有方法补丁/更新和资源 ID 的 REST API



我必须实现 REST 端点来更新资源。 我将使用方法 PUT 和 PATCH(后者用于发送仅具有要修改的属性的 json)。

调用的有效负载将由杰克逊解析的 json。 使用自定义反序列化器和转换器,解析器将创建正确的 java bean 实例。

我知道通常这些端点的 URL 中会包含要更新的资源的 ID。

对于 PATCH 端点,我更愿意在 json 中发送资源的 ID 以及所有其他资源。

我可以看到优点和缺点。

缺点:URL看起来像是更新资源集合而不是单个资源的东西,

优点:json 包含所有必要的信息,解析器可以在数据库中查找资源并添加未随请求一起发送的信息。 这将简化代码,因为解析器将返回一个可供使用的对象。

正如您所指出的,最好在URL中传递ID。 REST API 的主要约束之一是"请求中的资源标识":应该可以轻松识别修改的资源,查看调用。

传递的表示具有识别资源所需的信息是不够的:同样重要的是,识别很容易,不需要了解内部细节。

最新更新