用于下载 zip 文件的 swagger 规范的正确媒体类型
Correct media type for swagger spec for downloading zip file
我正在创建一个允许下载 zip 文件的 api,因此为此我正在寻找正确的媒体类型以发送此 zip 文件作为 swagger“2.0”规范中的响应。
我当前的 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 文件,正确的媒体类型应该是什么。
提前致谢
你需要实现这个。
由于以下生成的代码而发生错误:
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")
}),
所以在调用NewSampleAPI
之后,你应该设置ApplicationZipProducer
:
api := operations.NewSampleAPI(swaggerSpec)
api.ApplicationZipProducer = func(w io.Writer, data interface{}) error {
...
}
您应该使用“application/octet-stream”来实现 api 将文件作为附件下载,并且由于它的 Producer 已经默认实现,所以您不会遇到这个问题。
我正在创建一个允许下载 zip 文件的 api,因此为此我正在寻找正确的媒体类型以发送此 zip 文件作为 swagger“2.0”规范中的响应。
我当前的 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 文件,正确的媒体类型应该是什么。 提前致谢
你需要实现这个。
由于以下生成的代码而发生错误:
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")
}),
所以在调用NewSampleAPI
之后,你应该设置ApplicationZipProducer
:
api := operations.NewSampleAPI(swaggerSpec)
api.ApplicationZipProducer = func(w io.Writer, data interface{}) error {
...
}
您应该使用“application/octet-stream”来实现 api 将文件作为附件下载,并且由于它的 Producer 已经默认实现,所以您不会遇到这个问题。