我必须实现REST端点来更新资源。 我将使用PUT和PATCH方法(后者用于发送只有要修改的属性的json)。
调用的有效负载将是由Jackson解析的json。 使用自定义反序列化器和转换器,解析器将创建正确的java bean实例。
我知道通常这些端点会在其URL中包含要更新的资源的ID。
对于PATCH端点,我更喜欢在json中发送资源的ID以及所有其他资源。
我可以看到PROS和CONS。
缺点:网址看起来像是更新资源集合而不是单个资源,
PROS: json包含所有必要的信息,解析器可以在数据库中找到资源,并添加未随请求一起发送的信息。 这将简化代码,因为解析器将返回一个可供使用的对象。
答案 0 :(得分:1)
正如您所指出的,最好在URL中传递ID。 REST API的主要约束之一是“请求中的资源标识”:应该可以轻松识别查找调用的资源。
传递的表示具有识别资源所需的信息是不够的:识别很容易并且不需要内部细节的知识也很重要。