0

我正在使用servant-swagger 来定义一个REST 服务并从中生成一个Swagger 文件。它使用文件上传组合器的扩展版本来为端点定义客户端以添加文件。我想在上传 API 中添加 Swagger 描述。如果我可以添加一个参数,我会很高兴

{
  "in": "formData",
  "name": "file",
  "type": "file",
  "description": "File to upload"
}

招摇。知道怎么做吗?我在尝试

instance HasSwagger api => HasSwagger (Files b :> api) where
  toSwagger _ = toSwagger (Proxy :: Proxy api)
    & allOperations.description .~ Just (Text.pack "Files description")

但这不会在 Swagger 文件中生成描述(尽管它可以编译)。

4

1 回答 1

1

带着这个去:

instance HasSwagger api =>
         HasSwagger (Files b :> api) where
  toSwagger _ = toSwagger (Proxy :: Proxy api)
    & addParam param
    where
      param = mempty
        & name .~ "file"
        & required ?~ True
        & description ?~ "File to upload"
        & schema .~ ParamOther (mempty
            & in_ .~ ParamFormData
            & paramSchema .~ (mempty & type_ .~ SwaggerFile))
于 2018-12-04T09:10:41.240 回答