201 lines
7.6 KiB
VB.net
201 lines
7.6 KiB
VB.net
Imports System
|
|
Imports System.Collections.Generic
|
|
Imports System.Linq
|
|
Imports System.Web.Http
|
|
Imports System.Web.Http.Dispatcher
|
|
Imports System.Web.Http.Routing
|
|
Imports Microsoft.Extensions.DependencyInjection
|
|
Imports Microsoft.Web.Http
|
|
Imports Microsoft.Web.Http.Routing
|
|
|
|
Public Module WebApiConfig
|
|
|
|
|
|
'Public Sub Register(ByVal config As HttpConfiguration)
|
|
' ' Web-API-Konfiguration und -Dienste
|
|
|
|
' ' 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))
|
|
' 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(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}",
|
|
' 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()}
|
|
)
|
|
|
|
|
|
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))
|
|
|
|
|
|
' ' Web API routes
|
|
' config.MapHttpAttributeRoutes()
|
|
|
|
' 'config.Routes.MapHttpRoute(
|
|
' ' name:="DefaultApi",
|
|
' ' routeTemplate:="api/{controller}/{action}/{id}",
|
|
' ' defaults:=New With {.id = RouteParameter.Optional}
|
|
' ' )
|
|
|
|
|
|
' 'config.MapHttpAttributeRoutes()
|
|
|
|
' config.AddApiVersioning(Function(options)
|
|
' options.ReportApiVersions = True
|
|
' options.AssumeDefaultVersionWhenUnspecified = True
|
|
' ' options.DefaultApiVersion = New ApiVersion(1, 0)
|
|
' End Function)
|
|
|
|
' 'config.AddApiVersioning(Function(options)
|
|
' ' options.ReportApiVersions = False
|
|
' ' options.AssumeDefaultVersionWhenUnspecified = False
|
|
' ' options.DefaultApiVersion = New ApiVersion(1, 0)
|
|
' ' End Function)
|
|
|
|
' '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
|
|
|
|
|
|
|
|
|
|
' '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 Module
|