让我们考虑一个没有任何 DDBB 依赖项或连接的后端应用程序的 REST API。
例如,Python 后端应用程序使用机器学习模型二进制文件,该二进制文件采用复杂的 JSON 并输出概率。
我想为此 API 创建一个新端点。此端点将需要 JSON 格式的正文有效负载,但它不会创建任何资源。它将获取数据,使用机器学习模型对其进行处理,并以概率发回答案。
REST API 的良好实践和设计文档似乎只将 REST API 视为面向资源的,例如 4 个主要方法(GET、POST、PUT、DELETE)与 CRUD 操作直接相关。
但是,这种情况我应该选择什么方法呢?
我会说 GET,但这不是可能的,因为我需要在输入中提取 JSON 正文。 POST 似乎也不够,因为我没有创建任何资源。
如果您的 API 不代表实体管理,那么它就不是定义的经典意义上的 REST API,并且您不应该严格遵守 REST 的约定。
我会使用获取并返回 JSON 的 POST 请求。