How to document OData endpoints (swagger, swashbuckle, other)?
Solution 1
Yes, try Swashbuckle.OData. It adds Swashbuckle support for ODataControllers.
See it in action here: http://swashbuckleodata.azurewebsites.net/swagger
Solution 2
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
Solution 3
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.
Solution 4
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.
Solution 5
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.
Related videos on Youtube
free4ride
Updated on September 24, 2022Comments
-
free4ride over 1 year
What is the best way of documenting OData endpoints? Is there a way to use Swashbuckle for it?
-
hyankov about 5 yearsSite is down, unfortunately
-
andrewmo almost 5 yearsSwashbuckle.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.