Files
REST_SERVER/VERAG_REST_SERVER/App_Start/WebApiConfig.vb
2024-11-05 08:28:42 +01:00

150 lines
5.7 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 System.Web.Routing
Imports Microsoft.Extensions.DependencyInjection
Imports Microsoft.Web.Http
Imports Microsoft.Web.Http.Routing
Imports Microsoft.Web.Http.Versioning
Imports Swashbuckle.Application
Imports Swashbuckle.Swagger
Imports NSwag
Imports NSwag.AspNet.Owin
Public Module WebApiConfig
Public Sub Register2(ByVal config As HttpConfiguration)
' Dim constraintsResolver = New DefaultInlineConstraintResolver()
' constraintsResolver.ConstraintMap.Add("apiVersion", GetType(ApiVersionRouteConstraint))
' config.MapHttpAttributeRoutes(constraintsResolver)
' config.AddApiVersioning(Function(options)
' options.ReportApiVersions = True
' options.AssumeDefaultVersionWhenUnspecified = True
' options.DefaultApiVersion = New ApiVersion("1")
' End Function)
' config.Routes.MapHttpRoute(
' name:="AVISORoute2",
' routeTemplate:="api/v{version:apiVersion}/{controller}/{id}",
' defaults:=New With {.id = RouteParameter.Optional}
')
' 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 Register3(ByVal config As HttpConfiguration)
Dim constraintsResolver = New DefaultInlineConstraintResolver()
constraintsResolver.ConstraintMap.Add("apiVersion", GetType(ApiVersionRouteConstraint))
config.MapHttpAttributeRoutes(constraintsResolver)
'config.Filters.Add(New AuthorizeAttribute) 'wenn alle API Aufrufe autorisiert werden müssen/ansonsten können einzelene Controlleraufrufe auth. werden!
config.Filters.Add(New BasicAuthenticationAttribute())
'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.AddVersionedApiExplorer(Function(c)
c.GroupNameFormat = "'v'VVV"
c.SubstituteApiVersionInUrl = True
End Function)
End Sub
Public Sub Register(ByVal config As HttpConfiguration)
Dim constraintsResolver = New DefaultInlineConstraintResolver()
constraintsResolver.ConstraintMap.Add("apiVersion", GetType(ApiVersionRouteConstraint))
config.MapHttpAttributeRoutes(constraintsResolver)
'config.AddApiVersioning(Sub(options As Action(Of ApiVersioningOptions)
' '// reporting api versions will return the headers "api-supported-versions" and "api-deprecated-versions"
' options.ReportApiVersions = True
' options.AssumeDefaultVersionWhenUnspecified = True
' options.ApiVersionReader = ApiVersionReader.Combine(New UrlSegmentApiVersionReader(),
' New HeaderApiVersionReader("x-api-version"),
' New MediaTypeApiVersionReader("x-api-version"))
' End Sub)
config.AddApiVersioning(Sub(options As Microsoft.Web.Http.Versioning.ApiVersioningOptions)
options.AssumeDefaultVersionWhenUnspecified = True
options.ReportApiVersions = True
options.DefaultApiVersion = New Microsoft.Web.Http.ApiVersion(1, 0)
options.DefaultApiVersion = New Microsoft.Web.Http.ApiVersion(2, 0)
options.ApiVersionSelector = New Microsoft.Web.Http.Versioning.LowestImplementedApiVersionSelector(options)
End Sub)
config.AddVersionedApiExplorer(Function(c)
c.GroupNameFormat = "'v'VVV"
c.SubstituteApiVersionInUrl = True
End Function)
If False Then 'wenn alle API Aufrufe autorisiert werden müssen/ansonsten können einzelene Controlleraufrufe auth. werden!
config.Filters.Add(New AuthorizeAttribute)
Else
config.Filters.Add(New BasicAuthenticationAttribute())
End If
SwaggerConfig.Register(config)
End Sub
End Module