我有一个C# WebAPI项目,它的方法使用自定义ModelBinder作为其输入参数。当我查看Swashbuckle生成的Swagger UI时,而不是有一个单一的"body“参数,方法的参数的所有属性都分别列出。如果我摆脱了ModelBinder属性并切换到使用FromBody属性,Swagger显示了正确的东西。我必须使用ModelBinder属性,所以关闭它不是一种选择。
是否有一种方法可以让Swashbuckle生成"FromBody属性样式“单个参数,而不是它正在执行的多个参数?
发布于 2016-04-15 19:55:46
Ondrej是对的。把它们拴起来:
IHttpActionResult Foo([FromBody][ModelBinder]SomeModel model)发布于 2022-04-28 12:41:43
要添加这样的内容,对于Swashbuckle来说,属性的顺序是很重要的:
IActionResult Foo([FromBody, ModelBinder(typeof(SomeModelBinder))]SomeModel model)将在OpenApi中使用SomeModel ref生成正确的requestBody模式。
但
IActionResult Foo([ModelBinder(typeof(SomeModelBinder)), FromBody]SomeModel model)将生成一个具有定义为查询参数的OpenApi模式。
https://stackoverflow.com/questions/30429592
复制相似问题