3

我正在使用 flask 为一个库构建一个 RESTful api。这个库基本上有一堆函数,它们接受 unicode 字符串的输入,并进行拼写检查/翻译/音译等。

正如我所看到的,功能是资源,当我发出请求时我正在创建一个转换,似乎我应该只创建一个 POST api。

另外,由于我没有存储任何东西,我应该使用 GET 吗?

非 CRUD Rest Api 还有其他方法吗?

4

2 回答 2

1

我认为你没有太多选择:

  • 您的资源需要处理文本
  • 提交文本的 RESTful 方式是通过实体主体
  • GET请求不支持实体主体

POST这实际上是和之间的一个选择PUT,而且这个选择很明确:你不是在创建资源,所以它不可能是PUT

于 2013-04-11T14:32:15.940 回答
1

函数/方法不能是资源,因为这意味着您正在进行 RPC(远程过程调用)。资源只是信息的来源(名词,例如用户、事物等)。另一方面,RPC 是关于调用方法/函数(一个动词,例如 createUser()、doSomething())。

REST 中的资源只是提供统一接口的信息源(在您提供的所有资源中统一,主要是 CRUD 操作)。

所以你有两个选择:

  • 重新考虑您正在使用的库,找到专有名词并将它们发布为可通过统一界面访问的资源
  • 放弃 RESTful API 需求并轻松实现库的 RPC 网关
于 2013-04-11T14:38:30.370 回答