sách gpt4 ai đã đi

Thiết kế RESTful - Cách mô hình hóa các tệp đính kèm vào một thực thể

In lại 作者:行者123 更新时间:2023-12-04 15:16:31 31 4
mua khóa gpt4 Nike

Tôi đang cố gắng mô hình hóa các tệp đính kèm vào các thực thể trong REST. Giả sử rằng một thực thể lỗi có thể có nhiều phần đính kèm. Mỗi tệp đính kèm đều có mô tả và một số thuộc tính khác (thời gian sửa đổi gần nhất, kích thước tệp...). Tệp đính kèm là một tập tin có định dạng bất kỳ (jpeg, doc...)

我想知道我应该如何以 REST 方式对其进行建模

我考虑了以下两种选择:

第一种方法(使用相同的资源,不同的表示):

  • GET , content-type:XML on http://my-app/defects/ {id}/附件 将返回缺陷的
    XML 格式的附件元数据(描述、上次修改、文件大小...)
  • GET , content-type:gzip on http://my-app/defects/ {id}/附件 将在 zip 文件中返回缺陷的附件
  • GET , content-type:mime multi-part on http://my-app/defects/ {id}/附件 将在多部分消息(二进制数据和 XML 元数据)中返回缺陷的附件
  • POST,内容类型:XML 上 http://my-app/defects/ {id}/附件 将创建新附件,只有元数据没有附加文件(然后用户必须发送带有二进制数据的 PUT 请求)
  • POST ,内容类型:mime\multi-part on http://my-app/defects/ {id}/附件 将创建附件,客户端可以在一次往返中同时发送元数据和文件本身

  • 第二种方法(将附件的数据与元数据分开):
  • GET , content-type:XML on http://my-app/defects/ {id}/附件 将返回缺陷的
    XML 格式的附件元数据(描述、上次修改、文件大小...)
  • GET , content-type:gzip on http://my-app/defects/ {id}/附件/文件将在单个 zip 中返回缺陷的附件二进制数据

  • 创建一个新的附件,首先调用:
  • POST,内容类型:XML 上 http://my-app/defects/ {id}/附件 将创建新附件,只有元数据没有附加文件(然后用户必须发送带有二进制数据的 PUT 请求)

  • 然后添加二进制数据本身:
  • POST ,内容类型:mime\multi-part on http://my-app/defects/ {id}/attachments/{id}/file 将创建附件文件


  • 一方面,第一种方法更加健壮和高效,因为客户端可以在单次往返中创建\获取附件元数据和二进制数据。另一方面,我有点不愿意使用 mime-multipart 表示,因为消费和生产更麻烦。

    biên tập:我签了 flicker upload REST API .似乎他们正在使用多部分消息来包含照片和照片属性。

    1 Câu trả lời

    Atom Pub 规范已经解决了大部分问题。见 đây

    在您提出的解决方案中需要注意的一件事是您正在使用内容协商来交付不同的内容。我相信这被认为是不好的。内容协商应该只交付相同内容的不同表示。

    关于RESTful 设计 - 如何为实体的附件建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536960/

    31 4 0
    Bài viết được đề xuất: macos - 是什么让在 Mac 上拖动打开文件成为可能?
    Bài viết được đề xuất: sql - Ansi SQL 类型转换
    Bài viết được đề xuất: visual-studio-2008 - 分类 MsTest 案例
    Bài viết được đề xuất: xsl-fo - XSL-FO 中的圆角
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com