update things?
This commit is contained in:
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"projects": [ "src", "test" ],
|
|
||||||
"sdk": {
|
|
||||||
"version": "1.0.0-rc1-update1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +1,7 @@
|
|||||||
using System.Globalization;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Web.Http;
|
using System.Web.Http;
|
||||||
using System.Web.Http.Description;
|
|
||||||
using Swashbuckle.Application;
|
|
||||||
using Swashbuckle.Swagger;
|
|
||||||
using WebActivatorEx;
|
using WebActivatorEx;
|
||||||
using ProgrammerExcuses.Api;
|
using ProgrammerExcuses.Api;
|
||||||
|
using Swashbuckle.Application;
|
||||||
|
|
||||||
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
|
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
|
||||||
|
|
||||||
@@ -17,7 +13,7 @@ namespace ProgrammerExcuses.Api
|
|||||||
{
|
{
|
||||||
var thisAssembly = typeof(SwaggerConfig).Assembly;
|
var thisAssembly = typeof(SwaggerConfig).Assembly;
|
||||||
|
|
||||||
GlobalConfiguration.Configuration
|
GlobalConfiguration.Configuration
|
||||||
.EnableSwagger(c =>
|
.EnableSwagger(c =>
|
||||||
{
|
{
|
||||||
// By default, the service root url is inferred from the request used to access the docs.
|
// By default, the service root url is inferred from the request used to access the docs.
|
||||||
@@ -95,6 +91,13 @@ namespace ProgrammerExcuses.Api
|
|||||||
//
|
//
|
||||||
//c.OrderActionGroupsBy(new DescendingAlphabeticComparer());
|
//c.OrderActionGroupsBy(new DescendingAlphabeticComparer());
|
||||||
|
|
||||||
|
// If you annotate Controllers and API Types with
|
||||||
|
// Xml comments (http://msdn.microsoft.com/en-us/library/b2s063f7(v=vs.110).aspx), you can incorporate
|
||||||
|
// those comments into the generated docs and UI. You can enable this by providing the path to one or
|
||||||
|
// more Xml comment files.
|
||||||
|
//
|
||||||
|
//c.IncludeXmlComments(GetXmlCommentsPath());
|
||||||
|
|
||||||
// Swashbuckle makes a best attempt at generating Swagger compliant JSON schemas for the various types
|
// Swashbuckle makes a best attempt at generating Swagger compliant JSON schemas for the various types
|
||||||
// exposed in your API. However, there may be occasions when more control of the output is needed.
|
// exposed in your API. However, there may be occasions when more control of the output is needed.
|
||||||
// This is supported through the "MapType" and "SchemaFilter" options:
|
// This is supported through the "MapType" and "SchemaFilter" options:
|
||||||
@@ -107,16 +110,12 @@ namespace ProgrammerExcuses.Api
|
|||||||
// complex Schema, use a Schema filter.
|
// complex Schema, use a Schema filter.
|
||||||
//
|
//
|
||||||
//c.MapType<ProductType>(() => new Schema { type = "integer", format = "int32" });
|
//c.MapType<ProductType>(() => new Schema { type = "integer", format = "int32" });
|
||||||
//
|
|
||||||
// If you want to post-modify "complex" Schemas once they've been generated, across the board or for a
|
// If you want to post-modify "complex" Schemas once they've been generated, across the board or for a
|
||||||
// specific type, you can wire up one or more Schema filters.
|
// specific type, you can wire up one or more Schema filters.
|
||||||
//
|
//
|
||||||
//c.SchemaFilter<ApplySchemaVendorExtensions>();
|
//c.SchemaFilter<ApplySchemaVendorExtensions>();
|
||||||
|
|
||||||
// Set this flag to omit schema property descriptions for any type properties decorated with the
|
|
||||||
// Obsolete attribute
|
|
||||||
//c.IgnoreObsoleteProperties();
|
|
||||||
|
|
||||||
// In a Swagger 2.0 document, complex types are typically declared globally and referenced by unique
|
// In a Swagger 2.0 document, complex types are typically declared globally and referenced by unique
|
||||||
// Schema Id. By default, Swashbuckle does NOT use the full type name in Schema Ids. In most cases, this
|
// Schema Id. By default, Swashbuckle does NOT use the full type name in Schema Ids. In most cases, this
|
||||||
// works well because it prevents the "implementation detail" of type namespaces from leaking into your
|
// works well because it prevents the "implementation detail" of type namespaces from leaking into your
|
||||||
@@ -125,6 +124,15 @@ namespace ProgrammerExcuses.Api
|
|||||||
//
|
//
|
||||||
//c.UseFullTypeNameInSchemaIds();
|
//c.UseFullTypeNameInSchemaIds();
|
||||||
|
|
||||||
|
// Alternatively, you can provide your own custom strategy for inferring SchemaId's for
|
||||||
|
// describing "complex" types in your API.
|
||||||
|
//
|
||||||
|
//c.SchemaId(t => t.FullName.Contains('`') ? t.FullName.Substring(0, t.FullName.IndexOf('`')) : t.FullName);
|
||||||
|
|
||||||
|
// Set this flag to omit schema property descriptions for any type properties decorated with the
|
||||||
|
// Obsolete attribute
|
||||||
|
//c.IgnoreObsoleteProperties();
|
||||||
|
|
||||||
// In accordance with the built in JsonSerializer, Swashbuckle will, by default, describe enums as integers.
|
// In accordance with the built in JsonSerializer, Swashbuckle will, by default, describe enums as integers.
|
||||||
// You can change the serializer behavior by configuring the StringToEnumConverter globally or for a given
|
// You can change the serializer behavior by configuring the StringToEnumConverter globally or for a given
|
||||||
// enum type. Swashbuckle will honor this change out-of-the-box. However, if you use a different
|
// enum type. Swashbuckle will honor this change out-of-the-box. However, if you use a different
|
||||||
@@ -144,11 +152,6 @@ namespace ProgrammerExcuses.Api
|
|||||||
// to execute the operation
|
// to execute the operation
|
||||||
//
|
//
|
||||||
//c.OperationFilter<AssignOAuth2SecurityRequirements>();
|
//c.OperationFilter<AssignOAuth2SecurityRequirements>();
|
||||||
//
|
|
||||||
// Set filter to eliminate duplicate operation ids from being generated
|
|
||||||
// when there are multiple operations with the same verb in the API.
|
|
||||||
//
|
|
||||||
c.OperationFilter<IncludeParameterNamesInOperationIdFilter>();
|
|
||||||
|
|
||||||
// Post-modify the entire Swagger document by wiring up one or more Document filters.
|
// Post-modify the entire Swagger document by wiring up one or more Document filters.
|
||||||
// This gives full control to modify the final SwaggerDocument. You should have a good understanding of
|
// This gives full control to modify the final SwaggerDocument. You should have a good understanding of
|
||||||
@@ -157,25 +160,20 @@ namespace ProgrammerExcuses.Api
|
|||||||
//
|
//
|
||||||
//c.DocumentFilter<ApplyDocumentVendorExtensions>();
|
//c.DocumentFilter<ApplyDocumentVendorExtensions>();
|
||||||
|
|
||||||
// If you annonate Controllers and API Types with
|
|
||||||
// Xml comments (http://msdn.microsoft.com/en-us/library/b2s063f7(v=vs.110).aspx), you can incorporate
|
|
||||||
// those comments into the generated docs and UI. You can enable this by providing the path to one or
|
|
||||||
// more Xml comment files.
|
|
||||||
//
|
|
||||||
//c.IncludeXmlComments(GetXmlCommentsPath());
|
|
||||||
|
|
||||||
// In contrast to WebApi, Swagger 2.0 does not include the query string component when mapping a URL
|
// In contrast to WebApi, Swagger 2.0 does not include the query string component when mapping a URL
|
||||||
// to an action. As a result, Swashbuckle will raise an exception if it encounters multiple actions
|
// to an action. As a result, Swashbuckle will raise an exception if it encounters multiple actions
|
||||||
// with the same path (sans query string) and HTTP method. You can workaround this by providing a
|
// with the same path (sans query string) and HTTP method. You can workaround this by providing a
|
||||||
// custom strategy to pick a winner or merge the descriptions for the purposes of the Swagger docs
|
// custom strategy to pick a winner or merge the descriptions for the purposes of the Swagger docs
|
||||||
//
|
//
|
||||||
//c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
|
//c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
|
||||||
// ***** Uncomment the following to enable the swagger UI *****
|
|
||||||
/*
|
// Wrap the default SwaggerGenerator with additional behavior (e.g. caching) or provide an
|
||||||
})
|
// alternative implementation for ISwaggerProvider with the CustomProvider option.
|
||||||
.EnableSwaggerUi(c =>
|
//
|
||||||
{
|
//c.CustomProvider((defaultProvider) => new CachingSwaggerProvider(defaultProvider));
|
||||||
*/
|
})
|
||||||
|
.EnableSwaggerUi(c =>
|
||||||
|
{
|
||||||
// Use the "InjectStylesheet" option to enrich the UI with one or more additional CSS stylesheets.
|
// Use the "InjectStylesheet" option to enrich the UI with one or more additional CSS stylesheets.
|
||||||
// The file must be included in your project as an "Embedded Resource", and then the resource's
|
// The file must be included in your project as an "Embedded Resource", and then the resource's
|
||||||
// "Logical Name" is passed to the method as shown below.
|
// "Logical Name" is passed to the method as shown below.
|
||||||
@@ -194,6 +192,12 @@ namespace ProgrammerExcuses.Api
|
|||||||
//
|
//
|
||||||
//c.BooleanValues(new[] { "0", "1" });
|
//c.BooleanValues(new[] { "0", "1" });
|
||||||
|
|
||||||
|
// By default, swagger-ui will validate specs against swagger.io's online validator and display the result
|
||||||
|
// in a badge at the bottom of the page. Use these options to set a different validator URL or to disable the
|
||||||
|
// feature entirely.
|
||||||
|
//c.SetValidatorUrl("http://localhost/validator");
|
||||||
|
//c.DisableValidator();
|
||||||
|
|
||||||
// Use this option to control how the Operation listing is displayed.
|
// Use this option to control how the Operation listing is displayed.
|
||||||
// It can be set to "None" (default), "List" (shows operations for each resource),
|
// It can be set to "None" (default), "List" (shows operations for each resource),
|
||||||
// or "Full" (fully expanded: shows operations and their details).
|
// or "Full" (fully expanded: shows operations and their details).
|
||||||
@@ -222,23 +226,4 @@ namespace ProgrammerExcuses.Api
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
internal class IncludeParameterNamesInOperationIdFilter : IOperationFilter
|
|
||||||
{
|
|
||||||
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
|
|
||||||
{
|
|
||||||
if(operation.parameters != null)
|
|
||||||
{
|
|
||||||
// Select the capitalized parameter names
|
|
||||||
var parameters = operation.parameters.Select(
|
|
||||||
p => CultureInfo.InvariantCulture.TextInfo.ToTitleCase(p.name));
|
|
||||||
|
|
||||||
// Set the operation id to match the format "OperationByParam1AndParam2"
|
|
||||||
operation.operationId = string.Format(
|
|
||||||
"{0}By{1}",
|
|
||||||
operation.operationId,
|
|
||||||
string.Join("And", parameters));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -47,11 +47,17 @@
|
|||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
|
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Swashbuckle.Core">
|
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Swashbuckle.Core.5.0.0\lib\net40\Swashbuckle.Core.dll</HintPath>
|
<HintPath>..\..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.IdentityModel.Tokens.Jwt">
|
<Reference Include="Swashbuckle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd1bb07a5ac7c7bc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.4.0.0\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
<HintPath>..\..\packages\Swashbuckle.Core.5.3.2\lib\net40\Swashbuckle.Core.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=4.0.20622.1351, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.IdentityModel.Tokens.Jwt.4.0.2.206221351\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
<Reference Include="System.Web.DynamicData" />
|
<Reference Include="System.Web.DynamicData" />
|
||||||
@@ -70,17 +76,15 @@
|
|||||||
<Reference Include="System.Configuration" />
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Web.Services" />
|
<Reference Include="System.Web.Services" />
|
||||||
<Reference Include="System.EnterpriseServices" />
|
<Reference Include="System.EnterpriseServices" />
|
||||||
|
<Reference Include="WebActivatorEx, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7b26dc2a43f6a0d4, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\WebActivatorEx.2.1.0\lib\net40\WebActivatorEx.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="App_Data\" />
|
<Folder Include="App_Data\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="WebActivatorEx">
|
|
||||||
<HintPath>..\packages\WebActivatorEx.2.0.6\lib\net40\WebActivatorEx.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="Newtonsoft.Json">
|
|
||||||
<HintPath>..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.Net.Http.Formatting">
|
<Reference Include="System.Net.Http.Formatting">
|
||||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
|
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />
|
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />
|
||||||
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net452" />
|
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net452" />
|
||||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" />
|
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" />
|
||||||
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net452" />
|
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net452" />
|
||||||
<package id="Swashbuckle" version="5.0.0" targetFramework="net452" />
|
<package id="Swashbuckle" version="5.3.2" targetFramework="net452" />
|
||||||
<package id="Swashbuckle.Core" version="5.0.0" targetFramework="net452" />
|
<package id="Swashbuckle.Core" version="5.3.2" targetFramework="net452" />
|
||||||
<package id="System.IdentityModel.Tokens.Jwt" version="4.0.0" targetFramework="net452" />
|
<package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" targetFramework="net452" />
|
||||||
<package id="WebActivatorEx" version="2.0.6" targetFramework="net452" />
|
<package id="WebActivatorEx" version="2.1.0" targetFramework="net452" />
|
||||||
</packages>
|
</packages>
|
||||||
Reference in New Issue
Block a user