首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rest演示文件系统

Rest演示文件系统
EN

Stack Overflow用户
提问于 2021-11-15 03:21:49
回答 1查看 528关注 0票数 0

我正在设计代表文件系统的rest。

文件系统支持3种功能

  1. (路径)
  2. createFile(路径,内容) ->创建如果不存在,替换如果存在。
  3. readFile(路径)

这是REST,我正在考虑设计,你们认为呢?

代码语言:javascript
复制
1. mkdir
POST v1/file-system/directories
BODY {
      "path" : "???"
     }
RESPONSE
     {
       "id" : "",
       "path" "",
       "files": [...] // this will contain info on files or directories under this directory
     }
2. createFile
PUT v1/file-system/files
BODY {
      "path" : "???"
      "content": ""
     }
RESPONSE
     {
       "id" : "",
       "content": ""
       "path" ""
     }
3. read
GET v1/file-system/files/{file-path} or
GET v1/file-system/files?file-path={file-path}
RESPONSE
     {
       "id" : "",
       "content": ""
       "path" ""
     }

你们能告诉我这些API对这些函数的表示是否正确吗?

几个问题

  1. 对于GET API,我应该将路径指定为路径变量或查询参数吗?如果路径,那么后端将如何区分url路径和文件路径。例如v1/file-system/files/a/b/c.txt
  2. 既然create文件可以创建文件或替换现有文件的内容,那么使用PUT是否安全?
  3. 对于POST和PUT,我们是否将路径指定为路径变量?
EN

回答 1

Stack Overflow用户

发布于 2021-11-15 07:51:15

您必须理解每个请求方法(GETPOSTPUT.)他们有自己的约定,但他们之间并没有很大的区别。

例如,您可以使用POST来更新某些内容,而不是PATCH等等。

最后,这两种方法都接收请求正文中的数据,并对其执行一些操作(或不使用)。

关于你的问题:

  1. 我将避免将路径作为查询param发送。通过请求体发送数据。这样,您就有了一个JSON,并且不必关心URL的特定编码和字符转义。
  2. 再一次,这是非常安全的,因为它们只是因为公约而改变。我们主要使用POST来创建新数据,使用PUT来创建和替换存在的数据。有关更多信息,请访问
  3. 同样,避免将路径作为查询参数放置。将它们作为JSON插入到身体中。

阅读此文章以了解更多有关HTTP方法的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69969131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档