Search code examples
c#asp.net-web-api2swagger-uiswashbuckle

Swashbuckle and Web Api method with ModelBinder


I have a C# WebAPI project with a method that uses a custom ModelBinder for its input parameter. When I look at the Swagger UI that Swashbuckle generates, rather than having a single "body" parameter, all of the properties' of the method's parameters are listed out separately. If I get rid of the [ModelBinder] attribute and switch to using the [FromBody] attribute, the Swagger UI shows the right thing. I have to use the [ModelBinder] attribute, so switching that out isn't an option.

Is there a way to make Swashbuckle generate the "[FromBody] attribute style" single parameter rather than the multiple parameters that it's doing?


Solution

  • Ondrej is right. Just chain them:

    IHttpActionResult Foo([FromBody][ModelBinder]SomeModel model)