示例#1
0
        public static string ExportController(IEnumerable <Type> controllers, APIConfig config, string swaggerTitle)
        {
            var settings = new AssemblyTypeToSwaggerGeneratorSettings();

            // dll路径
            settings.ApiSetting = new WebApiToSwaggerGeneratorSettings
            {
                Title = swaggerTitle,
                // action方法名提取
                ActionPathRegex = config.ActionPathRegex,
                // 控制器类名提取
                ControllerPathRegex = config.ControllerPathRegex,
                // 命名空间提取到module
                NameSpacePathRegex = config.NameSpacePathRegex,
                // 解析时是否忽略
                SwaggerIgnoreAttribute = config.SwaggerIgnoreAttribute,
                // verb属性: post,get,put等
                VerbAttribute = config.VerbAttribute,
                // 根据此参数的属性是否存在, 值判断参数是否可选
                RequiredParemeterAttribute = config.RequiredParemeterAttribute
            };

            var generator = new WebApiToSwaggerGenerator(settings.ApiSetting);
            var doc       = generator.GenerateForControllers(controllers);

            return(doc.ToJson());
        }
 private static string[] GetAllReferencePaths(AssemblyTypeToSwaggerGeneratorSettings settings)
 {
     return(new[] { Path.GetDirectoryName(PathUtilities.MakeAbsolutePath(settings.AssemblyPath, Directory.GetCurrentDirectory())) }
            .Concat(settings.ReferencePaths)
            .Distinct()
            .ToArray());
 }
 /// <summary>Initializes a new instance of the <see cref="AssemblyTypeToSwaggerGeneratorBase"/> class.</summary>
 /// <param name="settings">The settings.</param>
 protected AssemblyTypeToSwaggerGeneratorBase(AssemblyTypeToSwaggerGeneratorSettings settings)
 {
     Settings = settings;
 }
示例#4
0
 public AssemblyTypeToSwaggerCommandBase()
 {
     Settings   = new AssemblyTypeToSwaggerGeneratorSettings();
     ClassNames = new string[] { };
 }
示例#5
0
 /// <summary>Initializes a new instance of the <see cref="AssemblyTypeToSwaggerGeneratorBase"/> class.</summary>
 /// <param name="settings">The settings.</param>
 protected AssemblyTypeToSwaggerGeneratorBase(AssemblyTypeToSwaggerGeneratorSettings settings)
 {
     Settings = settings;
 }
示例#6
0
 public AssemblyTypeToSwaggerCommand()
 {
     Settings = new AssemblyTypeToSwaggerGeneratorSettings();
 }
 /// <summary>Initializes a new instance of the <see cref="AssemblyTypeToSwaggerGenerator"/> class.</summary>
 /// <param name="settings">The settings.</param>
 public AssemblyTypeToSwaggerGenerator(AssemblyTypeToSwaggerGeneratorSettings settings) : base(settings)
 {
 }