我正在研究 API 的 PUT 方法,它将更新 URL 中由 ID 定义的实体。我需要发送文件和一些附加数据以进行用户身份验证(如签名和用户公钥)。我发现了如何发送文件:
curl -v -X PUT -T "file.epub" localhost:8080/api/book/?id=123
并了解如何发送数据
curl -v -X PUT --data test=abc localhost:8080/api/book/?id=123
但是如何发送文件和其他数据字段?
我正在研究 API 的 PUT 方法,它将更新 URL 中由 ID 定义的实体。我需要发送文件和一些附加数据以进行用户身份验证(如签名和用户公钥)。我发现了如何发送文件:
curl -v -X PUT -T "file.epub" localhost:8080/api/book/?id=123
并了解如何发送数据
curl -v -X PUT --data test=abc localhost:8080/api/book/?id=123
但是如何发送文件和其他数据字段?
就像:
curl -X PUT -F file=@file.epub -F test=abc localhost:8080/api/book/?id=123
我假设您可以更改您的 API,因此您可以使用参数上传文件,在此示例中,该参数称为file
.
curl -d "key1=value1" -d "key2=value2" -d @"/path/to/file" -X PUT your_url
PUT 不适用于“-F”(例如 curl -X PUT -F file=@file.epub -F test=abc localhost:8080/api/book/?id=123),因为“-F”意味着内容类型“ multipart/form-data”标头(-H“Content-Type: multipart/form-data”)不适用于 PUT 请求。