当不执行 CRUD 操作时,应在 REST API 中选择哪些 HTTP 方法?

问题描述 投票:0回答:1

让我们考虑一个没有任何 DDBB 依赖项或连接的后端应用程序的 REST API。

例如,Python 后端应用程序使用机器学习模型二进制文件,该二进制文件采用复杂的 JSON 并输出概率。

我想为此 API 创建一个新端点。此端点将需要 JSON 格式的正文有效负载,但它不会创建任何资源。它将获取数据,使用机器学习模型对其进行处理,并以概率发回答案。

REST API 的良好实践和设计文档似乎只将 REST API 视为面向资源的,例如 4 个主要方法(GET、POST、PUT、DELETE)与 CRUD 操作直接相关。

但是,这种情况我应该选择什么方法呢?

我会说 GET,但这不是可能的,因为我需要在输入中提取 JSON 正文。 POST 似乎也不够,因为我没有创建任何资源。

rest https interface http-method
1个回答
1
投票

如果您的 API 不代表实体管理,那么它就不是定义的经典意义上的 REST API,并且您不应该严格遵守 REST 的约定。

我会使用获取并返回 JSON 的 POST 请求。

© www.soinside.com 2019 - 2024. All rights reserved.