Rest 创建最佳API:上传N个文件和json元数据

Rest 创建最佳API:上传N个文件和json元数据,rest,api,http,httpapi,Rest,Api,Http,Httpapi,我正在创建一个API 我不确定API应该是什么样子 应该上传几个BLOB文件(PDF、JPG、ZIP等)并 一些包含元数据的JSON 设计API的最新方法是什么 有两种情况: 上传成功。那么我认为201(创建)是可行的 上载未成功(例如无效元数据)。然后应返回422(不可处理实体) 例如: 应该(一次)上传三个与一些json元数据相关的pdf文件 你经常看到的是,你有一个用于处理blob的资源和一个用于元数据的资源——Facebook和Twitter正在为图像和视频做这项工作 例如,/fi

我正在创建一个API

我不确定API应该是什么样子

应该上传几个BLOB文件(PDF、JPG、ZIP等)并 一些包含元数据的JSON

设计API的最新方法是什么

有两种情况:

  • 上传成功。那么我认为201(创建)是可行的
  • 上载未成功(例如无效元数据)。然后应返回422(不可处理实体)
例如:

  • 应该(一次)上传三个与一些json元数据相关的pdf文件

你经常看到的是,你有一个用于处理blob的资源和一个用于元数据的资源——Facebook和Twitter正在为图像和视频做这项工作

例如,
/files
将获取您的BLOB数据并返回上载的BLOB数据的ID

元数据将被发送到另一个名为
/posts
的资源,并可能使用
应用程序/json

在我目前工作的应用程序中,我们遇到了同样的问题,决定使用一个端点来使用
多部分/表单数据
——在这里,您可以在不同的边界内发送blob和元数据,并将所有内容都放在一个资源中

另一种方法是对blob进行
base64
编码,这将导致33%的开销,因此我不建议这样做。但是使用base64,您可以在一个
应用程序/json
资源中完成所有工作