目前我正在开发一个包含 RESTful 网络服务的 CMS。对于常规 REST 操作,我使用默认的 HTTP 方法 GET、PUT、POST 和 DELETE。但是,我正在考虑添加一个自定义方法 MAINTENANCE,我可以将其用于维护目的,例如完整性检查、重新索引等。此类维护只能由 CMS 管理员调用。
我的 web 服务支持通过定义 url 参数 _method 来覆盖 HTTP 方法。这样我可以“发布”一个表单,将 _method 设置为 PUT。我也可以使用相同的参数将方法设置为 MAINTENANCE。从技术上讲,实现自定义 HTTP 方法相当容易。
我的问题是关于适当的设计更合乎道德。一方面,允许自定义 HTTP 方法并且在技术上不难实现。另一方面,有些人建议不要使用自定义 HTTP 方法。
我应该为维护任务使用自定义 HTTP 方法吗?还是有其他最佳实践?