如何让PUT创建或更新控制器处理程序知道是创建还是更新?

时间:2015-11-16 20:35:38

标签: java rest controller

我有一个REST服务。您可以通过PUT点击终点。 Put应该更新资源(如果存在),否则创建它。该服务使用Java 8和Spring Boot。

/**
* Called by PUT request on HTTP REST endpoint
* Checks if resource exists. If it does, call updateResource, if not call insertResource
**/
insertUpdateHandler
/**
* Inserts record
**/
insertResource
/**
* Checks if record exists, if so update resource
*/
updateResource

我的问题是,如果记录存在,我会检查两次。

我看到了5种解决方案。但可能还有更多:
1.使用不同的端点进行创建和更新,但对两个使用PUT 2.仅将PATCH用于更新,PUT用于创建
3.接受我检查两次相同的记录 4.将找到的属性作为可选参数传递。我重载/可选参数在Java中会非常混乱。意见?
5.将insertOrUpdate放在一个方法中。我不喜欢这样,因为它会降低可扩展性。我无法对所有内容使用相同的更新方法。

0 个答案:

没有答案