gpt4 book ai didi

json - 如何在 API JSON 结果中返回文件?

转载 作者:行者123 更新时间:2023-12-01 07:33:27 25 4
gpt4 key购买 nike

我正在研究一个 REST API,它返回一个电子书列表。每本电子书都有许多照片和一个 PDF。我有每个图像文件和 pdf 文件的名称和网址。

我应该如何在 REST API 响应中包含此信息?
1. 有房产照片和另一份文件吗?
2. 或者只是说文件并指定文件类型?
3. 或者其他方式?

目前我有以下 JSON:

{
"ebooks": [
{
"title": "ebook 1"
},
{
"title": "ebook 2"
}
]
}

我正在尝试使用一种标准的方法来做到这一点,因此它在我的 API 端点之间保持一致。

最佳答案

你真的应该像你描述的那样在 API 中返回元数据,并且在每个 ebook 中返回。记录插入文件的链接。

来自您的 API 的响应应类似于以下 JSON:

{
"ebooks": [
{
"title": "ebook 1",
"pictures:" [
"http://myhost/pictures/picture1.jpg",
"http://myhost/pictures/picture2.jpg",
],
"document": "http://myhost/ebooks/ebook1.pdf"
},
{
"title": "ebook 2",
"pictures:" [
"http://myhost/pictures/picture3.jpg",
"http://myhost/pictures/picture4.jpg",
],
"document": "http://myhost/ebooks/ebook2.pdf"
}
]
}

这种方法是完全 RESTful 的,正是 HATEOAS约束建议你做:让你的资源可寻址。

您不能使用相同的响应同时返回 JSON 和原始二进制内容,我强烈建议您避免将文件转换为 Base64 字符串并将它们返回到 JSON 响应中,主要原因有两个:
  • Base64 编码 increases up to the 33% percent您的文件大小
  • 您的 API 响应将变为 巨大的 .想象一下,您甚至必须返回 10 条电子书记录(一小部分):这意味着您必须将大量数据(pdf、图像等)编码为 Base64。您的 API 的简单响应可能会导致浏览器下载数百 MB 的数据。
  • 关于json - 如何在 API JSON 结果中返回文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37417545/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com