Files
REST_SERVER/VERAG_REST_SERVER/App_Start/WebApiConfig.vb
2023-03-29 23:26:18 +02:00

115 lines
3.9 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)
SwaggerConfig.Register(config)
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())
End Sub
End Module