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是文件格式 }
public void TestMethod1() { T4Helper dbRender = new T4Helper(@"D:\duanbi\DataBase\DataBase.Test\", "CarrefourEC"); //数据库名 dbRender.NamespaceStr = "DataBase.Test.TableEntity"; //命名空间 dbRender.TableName = "Bank"; //生成的实体表名 dbRender.ColumnsPrefix = ""; //生成属性要忽略的前缀 dbRender.EntitySuffix = "Entity"; //生成实体名后缀,可不传默认为Entity dbRender.Render(); //执行生成 }
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}")); }
/// <summary> /// Get a view result by T4 template /// </summary> /// <typeparam name="TTemplate">Type of template</typeparam> /// <typeparam name="TModel">Type of model</typeparam> /// <param name="model">Instance of model</param> /// <returns>Text for view</returns> public virtual string ViewT4 <TTemplate, TModel>(TModel model = default(TModel)) { return(T4Helper.Execute <TTemplate, TModel>(model)); }
/// <summary> /// Get a view result by T4 template /// </summary> /// <typeparam name="TTemplate">Type of template</typeparam> /// <returns>Text for view</returns> public virtual string ViewT4 <TTemplate>() { return(T4Helper.Execute <TTemplate, object>(null)); }