![]() |
VOOZH | about |
dotnet add package Voyager.Common.Proxy.Server.Swagger.Owin --version 1.12.0
NuGet\Install-Package Voyager.Common.Proxy.Server.Swagger.Owin -Version 1.12.0
<PackageReference Include="Voyager.Common.Proxy.Server.Swagger.Owin" Version="1.12.0" />
<PackageVersion Include="Voyager.Common.Proxy.Server.Swagger.Owin" Version="1.12.0" />Directory.Packages.props
<PackageReference Include="Voyager.Common.Proxy.Server.Swagger.Owin" />Project file
paket add Voyager.Common.Proxy.Server.Swagger.Owin --version 1.12.0
#r "nuget: Voyager.Common.Proxy.Server.Swagger.Owin, 1.12.0"
#:package Voyager.Common.Proxy.Server.Swagger.Owin@1.12.0
#addin nuget:?package=Voyager.Common.Proxy.Server.Swagger.Owin&version=1.12.0Install as a Cake Addin
#tool nuget:?package=Voyager.Common.Proxy.Server.Swagger.Owin&version=1.12.0Install as a Cake Tool
Swagger/OpenAPI integration for Voyager.Common.Proxy.Server on OWIN/.NET Framework 4.8 using Swagger-Net.
Install-Package Voyager.Common.Proxy.Server.Swagger.Owin
In your SwaggerConfig.cs:
using Voyager.Common.Proxy.Server.Swagger.Owin;
public class SwaggerConfig
{
public static void Register()
{
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "My API");
// Add service proxy endpoints to Swagger
c.AddServiceProxy<IUserService>();
c.AddServiceProxy<IOrderService>();
})
.EnableSwaggerUi();
}
}
// In Startup.cs
public class Startup
{
public void Configuration(IAppBuilder app)
{
var container = new UnityContainer();
container.RegisterType<IUserService, UserService>();
// Add service proxy middleware
app.Use(ServiceProxyOwinMiddleware.Create<IUserService>(
() => container.Resolve<IUserService>()));
// Configure Web API and Swagger
var config = new HttpConfiguration();
SwaggerConfig.Register();
app.UseWebApi(config);
}
}
Result<T>The ServiceProxyDocumentFilter<T> scans your service interface using ServiceScanner and generates Swagger path definitions:
Result<T> return types are unwrapped to show just TFor this interface:
public interface IUserService
{
Task<Result<User>> GetUserAsync(int id);
Task<Result<User>> CreateUserAsync(CreateUserRequest request);
}
Swagger will show:
GET /user-service/get-user?id={id} → Returns UserPOST /user-service/create-user → Request body: CreateUserRequest, Returns User| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net48 net48 is compatible. net481 net481 was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.12.1-preview.4 | 60 | 4/23/2026 |
| 1.12.1-preview.3 | 57 | 4/22/2026 |
| 1.12.1-preview.2 | 57 | 4/21/2026 |
| 1.12.1-preview.1 | 62 | 4/21/2026 |
| 1.12.0 | 107 | 4/21/2026 |
| 1.12.0-preview.1.2 | 60 | 4/21/2026 |
| 1.12.0-preview.1.1 | 58 | 4/20/2026 |
| 1.12.0-preview.1 | 61 | 4/17/2026 |
| 1.11.0 | 161 | 2/26/2026 |
| 1.10.1-preview.2 | 70 | 2/26/2026 |
| 1.10.0 | 115 | 2/23/2026 |
| 1.10.0-preview.1.4 | 57 | 2/23/2026 |
| 1.10.0-preview.1 | 66 | 2/23/2026 |
| 1.9.0 | 108 | 2/23/2026 |
| 1.9.0-preview.1.3 | 65 | 2/23/2026 |
| 1.9.0-preview.1 | 71 | 2/19/2026 |
| 1.8.0 | 120 | 2/18/2026 |
| 1.8.0-review.3 | 70 | 2/19/2026 |
| 1.8.0-preview.3 | 73 | 2/19/2026 |
| 1.8.0-preview.2.1 | 66 | 2/18/2026 |