wyb
2021-05-11 49ce087bd2a34a150597e1cc1da157af242c0b6d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System.Linq;
using System.Web.Http;
using System.Web.Http.Description;
using System.Web.Mvc;
using WebActivatorEx;
using Pcb.Api;
using Swashbuckle.Application;
using Swashbuckle.Swagger;
using System.Web.Http.Dispatcher;
using Pcb.Api.App_Start;
 
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
 
namespace Pcb.Api
{
    /// <summary>
    /// SwaggerConfig
    /// </summary>
    public class SwaggerConfig
    {
        /// <summary>
        /// SwaggerConfig Register
        /// </summary>
        public static void Register()
        {
            
            var thisAssembly = typeof(SwaggerConfig).Assembly;
            GlobalConfiguration.Configuration
                .EnableSwagger(c =>
                {
                    c.DocumentFilter(() => new MyDocumentFilter());
                    c.IgnoreObsoleteActions();
                    c.SingleApiVersion("v1", "½ÝÅäÍøAPIÎĵµ");
                    c.IncludeXmlComments(GetXmlCommentsPath());
                })
                .EnableSwaggerUi(c =>
                {
                   // c.EnableDiscoveryUrlSelector();
                });
        }
 
        private static string GetXmlCommentsPath()
        {
            return System.String.Format(@"{0}\bin\Pcb.Api.XML", System.AppDomain.CurrentDomain.BaseDirectory);
        }
 
    }
 
    /// <summary>
    /// 
    /// </summary>
    public class MyDocumentFilter : IDocumentFilter
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="swaggerDoc"></param>
        /// <param name="schemaRegistry"></param>
        /// <param name="apiExplorer"></param>
        public void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer)
        {
          
        }
    }
}