What is the best way of documenting OData endpoints? Is there a way to use Swashbuckle for it?
5 Answers
Yes, try Swashbuckle.OData. It adds Swashbuckle support for ODataControllers.
See it in action here: http://swashbuckleodata.azurewebsites.net/swagger

- 81
- 1
- 4
-
3Site is down, unfortunately – hyankov Mar 13 '19 at 14:46
-
Swashbuckle.OData no longer works with the latest version of Microsoft.Odata.Core. Apparently Microsoft changed the dependencies in Microsoft.AspNet.OData from System.Web.OData and Swashbuckle.OData hasn't been updated to use the latest OData packages. – andrewmo Jun 11 '19 at 02:25
Yes, we are trying to support it like yaml -> Swagger, yaml -> csdl ..
But it will need time to implementation, you can see a prototype and track there https://github.com/OData/model-first

- 2,132
- 1
- 11
- 13
I actually got something working for this using the IDocumentFilter function within Swashbuckle. I answered a similar question on the GitHub repo for Swashbuckle. Check out my response here (it's either at bottom or toward bottom):
https://github.com/domaindrivendev/Swashbuckle/issues/149
I've posted an example of a working IDocumentFilter implementation that you could leverage to get your OData endpoint set up in the Swagger ui.

- 478
- 5
- 12
The easiest way to do that I found is to convert OData definition to Open API spec using https://github.com/oasis-tcs/odata-openapi
Then import the spec document into swagger is very easy.

- 420
- 1
- 6
- 25
Asp NET and Asp NET Core Api Versioning
You can use Api Versioning (as it extends ApiExplorer
with Odata information) for both WebApi
and AspNetCore
.
There are samples available for both:
This sample how it integrates well with Swashbuckle/Swagger ui.

- 14,327
- 5
- 49
- 68