【发布时间】:2021-01-17 07:35:07
【问题描述】:
在 Swagger 中,是否可以将正文表示为 HTML 表单而不是 JSON 字符串?以及如何实现这一目标?
例如,在 django 中,我可以通过 html 表单输入 JSON(是的,这是一个简单的示例,但是更复杂的对象可能会有点烦人来编写 JSON,尤其是在字段是外键并且您不记得的情况下该表中的条目)。
在 Swagger 中,我的 UI 看起来像,理想情况下,Id 也不是必需的输入,因为它是自动生成的。
非常感谢任何帮助。
【问题讨论】:
-
如果您展示您的控制器会有所帮助。如果您希望您的控制器端点参数是表单字段,那么您应该使用
[FromForm]参数属性。例如:public IActionResult MyFormEndpoint([FromForm] MyFormObject formObject){...} -
谢谢安迪,我刚刚拿到了自动构建的控制器,从记忆中他们没有包含这个注释,我会试一试
-
嘿@Andy,你知道如何从swagger表单中排除属性,即如果我有并且类型有一个外键“ProjectID”和一个仅由GET请求使用的属性Project,为了允许我传回 Project 对象,我将如何将 Project 排除在 POST 请求中?
-
看起来很复杂:stackoverflow.com/questions/41005730/… 我会考虑创建一个 DTO 模型并将其映射到实际模型。
标签: asp.net asp.net-web-api swagger swagger-ui