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