代码之家  ›  专栏  ›  技术社区  ›  SBotirov

Swagger Editor-将请求json主体字段声明为formData,但将其作为json发送

  •  0
  • SBotirov  · 技术社区  · 7 年前

    我使用的是最新的Swagger编辑器,我的服务器api只接受json body请求,但如果您用formData文档声明参数,开发人员将清楚地看到。我的问题是:如何将参数声明为formData,但在尝试发送json正文请求时。我尝试了Swagger Editor最旧的版本2.9.6,并将参数声明为formData,并将“products”和“consumes”声明为“application/json”,然后如果我在编辑器上尝试,但如果我生成nodejs服务器并尝试,它将发送内容类型为表单url编码,请查看以下屏幕截图:

    enter image description here enter image description here

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Helen    7 年前

    如何将参数声明为formData,但在尝试发送json正文请求时。

    你不能。API规范是客户端和服务器之间的契约,应该精确定义服务器行为。如果服务器需要JSON,则规范必须使用 in: body 参数,而非 in: formData .如果服务器以一种方式工作,而规范规定了另一种方式,那么它是无用的。

    如果你想使用 formData 参数,将服务器更改为接受表单数据,并相应地编写规范。