Saturn
Saturn copied to clipboard
Swagger integration
I have to say this is exactly the Web Framework that I'm looking for in F#'s ecosystem! Suave is great, but in most case, I just need a fully functional framework which doesn't need to manually setup all infrastructures again and again to get things done.
Swagger is useful for implementing Restful API, I'm wondering it's possible to implement or include something like Suave.Swagger for Saturn.
I agree, this would make a lot of sense!
so, any progress?
How about this?
I've been monitoring the state of this issue for a couple of months now. My current findings are as follows:
There is a prototype that currently works for Giraffe applications. As Saturn builds on that it should be usable (I haven't tired myself, though).
Currently there is no real further development in this direction. I suspect mostly because everyone is waiting for the revamp of the routing API coming with ASP.NET Core 3.0 which will allow every piece of middleware to work with the same set of routing related metadata. Until this is stable and out in the wild I don't see any point in developing a bespoke solution right now.
I know though that there is some work going on in Saturn that could help you in the meantime (depending on your use case). Here is Chris' tweet about it.
This would be a great addition to the framework! Been hunting around to see if there's been any movement on this front in Saturn or Giraffe but haven't really seen any progress recently. Would love to use this for a project, but sadly I have a requirement for Swagger documentation.
seems there is some work on NET7 milestone.. but might take time https://github.com/dotnet/aspnetcore/issues/37098
Hi guys, can these new features in NET7 preview 2 help laready? https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-7-preview-2/
when using endpoints?
app.MapGet("/hello", [EndpointSummary("Sends a Hello request to the backend")]() => ...)
Perhaps, although I don't think Saturn should depend on .NET 7 until near or after release.
maybe it could be a branch/beta package release, so it can stay experimental and there is no hard dependency on it (or kind of "depend at your own risk for now" policy..), atm saturn still has no support for swashbuckle/swagger right?