Beispiel #1
0
        public FileResult ExportApiWord(string type, string version)
        {
            string memi      = string.Empty;
            string fileExten = string.Empty;
            Stream outdata   = null;
            //获取swagger json 之前通过swagger的接口获取,废弃了。原因:他返回的数据看着像json数据,实则不是,不能用newtonsoft反序列化成对象。
            //var url = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}/swagger/v2/swagger.json";
            //var data = RestSharpHelper.HttpGet(url);
            //var model = JsonHelper.StrToModel<OpenApiDocument>(data);

            //1.获取api文档json,version是版本,根据指定版本获取指定版本的json对象。
            var model = _swaggerGenerator.GetSwagger(version);

            if (model == null)
            {
                throw new Exception("Swagger Json cannot be equal to null!");
            }
            //2.这里使用了微软的mvc模板引擎技术来生成html,做过mvc项目的同学应该都知道是啥东西,这里不细说了。自己看代码吧,用起来很方便。
            var html = T4Helper.GeneritorSwaggerHtml($"{_hostingEnvironment.WebRootPath}\\SwaggerDoc.cshtml", model);
            //3.将html转换成需要导出的文件类型。
            var op = _spireDocHelper.SwaggerHtmlConvers(html, type, out memi);

            if (!op.Successed)
            {
                throw new Exception(op.Message);
            }
            outdata = op.Data;
            return(File(outdata, memi, $"Titan.Blog.WebAPP API文档 {version}{type}"));//返回文件流,type是文件格式
        }
Beispiel #2
0
        public FileResult ExportApiWord(string type, string version)
        {
            var model = _swaggerGenerator.GetSwagger(version);

            if (model == null)
            {
                throw new Exception("Swagger Json cannot be equal to null!");
            }
            var html = T4Helper.GeneritorSwaggerHtml($"{_environment.ContentRootPath}\\Razor\\SwaggerDoc.cshtml", model);

            Stream data = _spireDocHelper.SwaggerHtmlConvers(html, type, out string memi);

            return(File(data, memi, $"Titan.Blog.WebAPP API文档 {version}{type}"));
        }