Implementing Swashbuckle/Swagger with .net Core 2 API I am now receiving the 500 error when accessing swagger.json:
NotSupportedException: Ambiguous HTTP method for action - EBisAPI.Controllers._class.HandleError (EBisAPI). Actions require an explicit HttpMethod binding for Swagger
I have gone through all the controllers and see explicit routing on all the public methods of each controller. Is there a way to determine which method is throwing the ambiguous routing error?
This can occur when a method is declared public in a controller, but without REST attributes. Changing the method to protected may address the issue.
I have seen this kind of error before and usually the error message points to the culprit:
EBisAPI.Controllers._class.HandleError
I guess HandleError
is a public
method in your base class, right? Change it to protected
and try again.
This is of course only one possible solution. If the method which is mentioned in the error message is part of an interface implementation, it doesn't work and you need to look at one of the other solutions.
Similar to totonho's answer you can use
[ApiExplorerSettings(IgnoreApi=true)]
(From https://github.com/domaindrivendev/Swashbuckle/issues/153 )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With