This commit is contained in:
2023-02-22 09:58:13 +01:00
parent f80edd789b
commit 152312175f
21 changed files with 1048 additions and 670 deletions

View File

@@ -7,194 +7,99 @@ Imports System.Web.Http.Routing
Imports Microsoft.Extensions.DependencyInjection
Imports Microsoft.Web.Http
Imports Microsoft.Web.Http.Routing
Imports Microsoft.Web.Http.Versioning
Public Module WebApiConfig
'Public Sub Register(ByVal config As HttpConfiguration)
' ' Web-API-Konfiguration und -Dienste
Public Sub Register2(ByVal config As HttpConfiguration)
' ' Web-API-Routen
' config.MapHttpAttributeRoutes()
' ' Dim constraintResolver = New DefaultInlineConstraintResolver() ' With {.ConstraintMap = {{"apiVersion", GetType(ApiVersionRouteConstraint)}}
' 'config.Routes.MapHttpRoute(
' ' name:="DefaultApi",
' ' routeTemplate:="api/{controller}/{id}",
' ' defaults:=New With {.id = RouteParameter.Optional}
' ')
' config.Routes.MapHttpRoute(
' name:="DefaultApi1",
' routeTemplate:="api/V1/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
' )
' config.Routes.MapHttpRoute(
' name:="DefaultApi2",
' routeTemplate:="api/V2/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
' )
' ' config.MapHttpAttributeRoutes(constraintResolver)
'End Sub
Public Sub Register(ByVal config As HttpConfiguration)
Dim constraintsResolver = New DefaultInlineConstraintResolver()
constraintsResolver.ConstraintMap.Add("apiVersion", GetType(ApiVersionRouteConstraint))
' Dim constraintsResolver = New DefaultInlineConstraintResolver()
' constraintsResolver.ConstraintMap.Add("apiVersion", GetType(ApiVersionRouteConstraint))
' config.MapHttpAttributeRoutes(constraintsResolver)
' config.Services.Replace(GetType(IHttpControllerSelector), New HttpControllerSelector(config))
config.MapHttpAttributeRoutes(constraintsResolver)
'Dim constraintResolver = New DefaultInlineConstraintResolver() With {.ConstraintMap = {{"apiVersion", GetType(ApiVersionRouteConstraint)}}}
'config.MapHttpAttributeRoutes(constraintResolver)
config.AddApiVersioning(Function(options)
options.ReportApiVersions = True
options.AssumeDefaultVersionWhenUnspecified = True
' options.DefaultApiVersion = New ApiVersion("1")
End Function)
' config.AddApiVersioning(Function(options)
' options.ReportApiVersions = True
' options.AssumeDefaultVersionWhenUnspecified = True
' options.DefaultApiVersion = New ApiVersion("1")
' End Function)
'config.AddApiVersioning(Function(o)
' o.DefaultApiVersion = New ApiVersion(1, 0)
' End Function)
' config.Routes.MapHttpRoute(name:="DefaultApi-Versioned", routeTemplate:="v{apiversion}", defaults:=New With {Key
'config.Routes.MapHttpRoute(
' name:="AVISORoute0",
' routeTemplate:="api/V{apiversion}/AVISO",
' defaults:=New With {.id = RouteParameter.Optional}
')
'config.Routes.MapHttpRoute(
' name:="AVISORoute",
' routeTemplate:="api/V{apiVersion}/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional, .Constraints = New Microsoft.Web.Http.Routing.ApiVersionRouteConstraint()}
')
config.Routes.MapHttpRoute(
name:="AVISORoute2",
routeTemplate:="api/{controller}/{id}",
defaults:=New With {.id = RouteParameter.Optional}
)
'TEST/
config.Routes.MapHttpRoute(
name:="AVISORoute0TEST",
routeTemplate:="api/V{apiversion}/{controller}/AVISO",
defaults:=New With {.id = RouteParameter.Optional}
)
'config.Routes.MapHttpRoute(
' name:="AVISORouteTEST",
' routeTemplate:="api/V{apiversion}/{controller}/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
')
' config.Routes.MapHttpRoute(
' name:="AVISORoute2TEST",
' routeTemplate:="api/{controller}/{controller}/{id}",
' name:="AVISORoute2",
' routeTemplate:="api/v{version:apiVersion}/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
')
config.Routes.MapHttpRoute(
name:="AVISO",
routeTemplate:="api/V{apiversion}/{controller}/{id}",
defaults:=New With {.id = RouteParameter.Optional, .Constraints = New Microsoft.Web.Http.Routing.ApiVersionRouteConstraint()}
)
' TEST/
' config.Routes.MapHttpRoute(
' name:="AVISORoute0TEST",
' routeTemplate:="api/v{version:apiVersion}/{controller}/AVISO",
' defaults:=New With {.id = RouteParameter.Optional}
' )
' config.Routes.MapHttpRoute(
' name:="AVISO",
' routeTemplate:="api/v{version:apiVersion}/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional, .Constraints = New Microsoft.Web.Http.Routing.ApiVersionRouteConstraint()}
' )
End Sub
'Public Sub Register(ByVal config As HttpConfiguration)
' 'Dim constraintsResolver = New DefaultInlineConstraintResolver()
' 'constraintsResolver.ConstraintMap.Add("apiVersionConstraint", GetType(ApiVersionConstraint))
' 'config.MapHttpAttributeRoutes(constraintsResolver)
' 'config.Services.Replace(GetType(IHttpControllerSelector), New NamespaceHttpControllerSelector(config))
Public Sub Register(ByVal config As HttpConfiguration)
Dim constraintsResolver = New DefaultInlineConstraintResolver()
constraintsResolver.ConstraintMap.Add("apiVersion", GetType(ApiVersionRouteConstraint))
config.MapHttpAttributeRoutes(constraintsResolver)
' ' Web API routes
' config.MapHttpAttributeRoutes()
' 'config.Routes.MapHttpRoute(
' ' name:="DefaultApi",
' ' routeTemplate:="api/{controller}/{action}/{id}",
' ' defaults:=New With {.id = RouteParameter.Optional}
' ' )
config.AddApiVersioning(Function(options)
options.ReportApiVersions = True
options.AssumeDefaultVersionWhenUnspecified = True
options.ApiVersionReader = ApiVersionReader.Combine(New UrlSegmentApiVersionReader(),
New HeaderApiVersionReader("x-api-version"),
New MediaTypeApiVersionReader("x-api-version"))
'options.DefaultApiVersion = New ApiVersion("1")
End Function)
' 'config.MapHttpAttributeRoutes()
config.AddVersionedApiExplorer(Function(c)
c.GroupNameFormat = "'v'VVV"
c.SubstituteApiVersionInUrl = True
End Function)
' config.AddApiVersioning(Function(options)
' options.ReportApiVersions = True
' options.AssumeDefaultVersionWhenUnspecified = True
' ' options.DefaultApiVersion = New ApiVersion(1, 0)
' End Function)
SwaggerConfig.Register(config)
' 'config.AddApiVersioning(Function(options)
' ' options.ReportApiVersions = False
' ' options.AssumeDefaultVersionWhenUnspecified = False
' ' options.DefaultApiVersion = New ApiVersion(1, 0)
' ' End Function)
' config.Routes.MapHttpRoute(
' name:="AVISORoute2",
' routeTemplate:="api/v{version:apiVersion}/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
')
' 'config.AddApiVersioning(Function(o)
' ' o.DefaultApiVersion = New ApiVersion(2, 0)
' ' End Function)
' ' config.Routes.MapHttpRoute(name:="DefaultApi-Versioned", routeTemplate:="v{apiversion}", defaults:=New With {Key
' 'TEST/
' config.Routes.MapHttpRoute(
' name:="AVISORoute0TEST",
' routeTemplate:="api/v{version:apiVersion}/{controller}/AVISO",
' defaults:=New With {.id = RouteParameter.Optional}
' )
' config.Routes.MapHttpRoute(
' name:="AVISO",
' routeTemplate:="api/v{version:apiVersion}/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional, .Constraints = New Microsoft.Web.Http.Routing.ApiVersionRouteConstraint()}
' )
' 'config.Routes.MapHttpRoute(
' ' name:="AVISORoute0",
' ' routeTemplate:="api/v{apiversion}/AVISO",
' ' defaults:=New With {.id = RouteParameter.Optional}
' ')
' 'config.Routes.MapHttpRoute(name:="DefaultApi", routeTemplate:="api/{version}/{controller}", defaults:=New With {Key .version = "v2"})
' 'config.Routes.MapHttpRoute(name:="DefaultApiWithId", routeTemplate:="api/{version}/{controller}/{id}", defaults:=New With {Key .id = RouteParameter.[Optional]})
' 'config.MapHttpAttributeRoutes(contraintResolver)
' config.Routes.MapHttpRoute(
' name:="AVISORoute",
' routeTemplate:="api/v{version:apiVersion}/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional, .Constraints = New Microsoft.Web.Http.Routing.ApiVersionRouteConstraint()}
' )
' config.Routes.MapHttpRoute(
' name:="AVISORoute2",
' routeTemplate:="api/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
' )
' 'TEST/
' config.Routes.MapHttpRoute(
' name:="AVISORoute0TEST",
' routeTemplate:="api/V{version:apiVersion}/TEST/AVISO",
' defaults:=New With {.id = RouteParameter.Optional}
' )
' config.Routes.MapHttpRoute(
' name:="AVISORouteTEST",
' routeTemplate:="api/V{version:apiVersion}/TEST/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
' )
' config.Routes.MapHttpRoute(
' name:="AVISORoute2TEST",
' routeTemplate:="api/{controller}/TEST/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
' )
'End Sub
End Sub
End Module