当前位置: 首页 > 知识库问答 >
问题:

用于下载zip文件的swagger规范的正确媒体类型

范哲
2023-03-14

我正在创建一个允许下载zip文件的api,因此为此,我正在寻找正确的媒体类型,以便在swagger“2.0”规范中发送此zip文件作为响应。

我当前的api规范如下所示

/config:
  get:
    produces:
      - application/zip
    responses:
        200: # OK
          description: All config files
          schema:
            type: string
            format: binary

我已经用“go-swagger”编译了这个规范并为此实现了后端,但是当尝试调用这个API时,我得到了这个错误

http: panic serving 127.0.0.1:20366: applicationZip producer has not yet been implemented

在swagger的文档中,我没有看到这种媒体类型

官方招摇的媒体类型

那么,如果我们想提供一个API来下载zip文件,那么正确的媒体类型应该是什么呢。提前感谢

共有2个答案

高运诚
2023-03-14

您应该使用“应用程序/八位流”来实现将文件作为附件下载的api,并且由于其生产者已经默认实现,因此您不会遇到这个问题。

卫建义
2023-03-14

您需要实现这一点。

由于以下生成的代码而发生此错误:

func NewSampleAPI(spec *loads.Document) *SampleAPI {
    return &SampleAPI{
    ...
        ApplicationZipProducer: runtime.ProducerFunc(func(w io.Writer, data interface{}) error {
            return errors.NotImplemented("applicationZip producer has not yet been implemented")
        }),

因此,在调用<code>NewSampleAPI:

golang prettyprint-override">api := operations.NewSampleAPI(swaggerSpec)
api.ApplicationZipProducer = func(w io.Writer, data interface{}) error {
    ...
}
 类似资料:
  • 我试图在spring boot应用程序中使用swagger注释从Java代码中获取swagger规范(yaml)。我对模型进行注释,然后运行springboot应用程序,然后从http://localhost:8080/v2/api-文档。 我的模型如下所示: 我想为此创建正确的swagger yaml斑点。当我访问自动提供yaml的swagger UI时,我期待下面的内容。 注意dateOfBi

  • 我正在使用Python2.7、mechanize和beautifulsoup,如果有帮助,我可以使用urllib 我打算使用下面的代码来访问第二个表: 我猜class=“fe-form”是错误的,因为它不能工作,但是该表没有其他属性将它与其他表区分开来。所有表都有cellpadding=“0”cellspacing=“0”border=“0”width=“50%”。我想我不能使用find()函数。

  • 在我的Spring项目中,我使用Springdoc生成OpenApiSpecification文档。我用这些注释创建了我的Api。我想用不同的mediatype拥有相同的endpointurl来处理不同对象的POST。 生成的开放式Api规范文档为: 我有几个问题: > 终结点名称没有意义(保存\u 1) 当我使用OpenAPI生成器根据此规范生成Angular客户端时,我收到一些警告,这些警告会

  • 我在验证SAML 2.0断言XML的签名时遇到了问题。我正在使用simpleSAMLphp项目中的SAML2库,该项目反过来又使用PHP库来签名XML并验证签名。 我收到我的合伙人的以下声明: 签名元素请求独占C14N规范化。库库将其规范化如下: 然而,我的搭档实际上签署的要素是: 但是,如果没有xmlns:xsi,情况基本相同。”http://www.w3.org/2001/XMLSchema-

  • 我有我的网站在和我想下载一些文件从另一个域但没有得到下载和显示302移动临时错误。我使用cURL代码。

  • 问题内容: 当用户单击链接时,我真的很难让我的应用程序打开pdf。 到目前为止,anchor标签重定向到一个页面,该页面发送的标头为: 这似乎不起作用,过去有人成功解决过此问题吗? 问题答案: w3schools上的示例2 显示了您要实现的目标。 还请记住, 重要的是要注意必须在发送任何实际输出之前调用header()(在PHP 4和更高版本中,可以使用输出缓冲来解决此问题)