北京营销型网站建设公司,山东诚信工程建设监理有限公司网站,网站建设与维护试题a卷,郑州网站建设项目关于API文档自动生成#xff0c;用于对APP端的开发帮助文档生成#xff0c;默认ProtoBuffer传输格式。本项目并不是RESTful风格#xff0c;是面向功能的API类型。ApiDoc的作用是根据定义好的API接口和注释来自动生成给内部开发者提供的API对接文档。欢迎Star一下#xff0c… 关于API文档自动生成用于对APP端的开发帮助文档生成默认ProtoBuffer传输格式。本项目并不是RESTful风格是面向功能的API类型。ApiDoc的作用是根据定义好的API接口和注释来自动生成给内部开发者提供的API对接文档。欢迎Star一下后续还会更新配套的SDK自动生成基于Consul的服务注册与发现等当然由于我本人能力有限菜的很所以这个工具若是对您有用并且您有了新的点子同样欢迎提交您的合并请求我会认真阅读并维护好项目。开源地址https://github.com/CBDlkl/AspnetCoreApiDocNuget下载Install-Package AspnetCoreApiDoc关于ProtoBuffer官方描述Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data.生成文档示例说明文档NO.1引用项目后在Startup.cs中的ConfigureServices方法加入如下代码进行服务注册    //注册API文档服务services.AddProtoMvc(op {op.ApiOptions  new ApiOptions{            //API文档访问的路由; 推荐和API地址访问保持一致Host  /core/v1,ApiName  样例API文档,APiVersion  v1.0,Copyright  Copyright©2017-2018 api.com All Rights Reserved. ,ProtoBufVersion  ProtoBufEnum.Proto3,NetworkDocs  new ListNetworkDoc{                new NetworkDoc{Title  默认网络文档一,Url  https://www.baidu.com/},                new NetworkDoc{Title  我的博客,Url  http://www.cnblogs.com/likeli/},}};        //此处配置ES日志服务地址//op.ESOptions  new ESOptions//{//    Uri  http://192.168.0.1:9200,//    DefaultIndex  test-log,//};});NO.2在Configure方法启用服务    app.UseStatusCodePages().UseApi();  //启用API文档生成NO.3在需要生成API文档的控制器Controller或方法Action上添加ApiDoc特性标记例如Controller上添加    [ApiDoc, Route(core/v1/[controller]/[action]/)]    public class ApiController{...}Action上添加    /// summary/// 获取产品方法2/// /summary/// param nameinput输入参数/param/// returns输出参数/returns[ApiDoc, HttpPost]    public ProductInput GetProduct2([FromBody] ProductInput input)    {        return new ProductInput {ProductName  一体机};}在controller上添加ApiDoc特性后可以在该控制器下的action上再添加ApiDoc(false)来停止某个单独方法的文档生成NO.4给API的项目和所有其依赖的项目的.csproj文件中的Project节点下都加上生成XML的配置如下:  PropertyGroupTargetFrameworknetcoreapp2.0/TargetFrameworkDocumentationFilebin\Debug\netcoreapp2.0\{项目名}.xml/DocumentationFileDocumentationFilebin\Release\netcoreapp2.0\{项目名}.xml/DocumentationFileNoWarn1701;1702;1705;1591/NoWarn/PropertyGroup完整实例    public class Startup{            public Startup(IConfiguration configuration)        {Configuration  configuration;}           public IConfiguration Configuration { get; }           public void ConfigureServices(IServiceCollection services)             {                 //加载日志记录组件services.AddSingletonIHttpContextAccessor, HttpContextAccessor();services.AddSingletonESClientProvider();    //注册API文档服务services.AddProtoMvc(op {op.ApiOptions  new ApiOptions{ //API文档访问的路由; 推荐和API地址访问保持一致Host  /core/v1,ApiName  样例API文档,APiVersion  v1.0,Copyright  Copyright©2017-2018 api.com All Rights Reserved. ,ProtoBufVersion  ProtoBufEnum.Proto3,NetworkDocs  new ListNetworkDoc{                        new NetworkDoc{Title  默认网络文档一,Url  https://www.baidu.com/},                        new NetworkDoc{Title  我的博客,Url  http://www.cnblogs.com/likeli/},}};                       //此处配置ES日志服务地址//op.ESOptions  new ESOptions//{//    Uri  http://192.168.0.1:9200,//    DefaultIndex  test-log,//};});}    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)        {              //启动ES日志服务//loggerFactory//    .AddESLogger(app.ApplicationServices, test-log, new FilterLoggerSettings//    {//        {*, LogLevel.Trace},//        {Microsoft, LogLevel.Warning},//        {System, LogLevel.Warning},//    });app.UseStatusCodePages().UseApi(); //启用API文档生成}}约定所有API的方法传入参数必须从Body中读取版权本项目采用 MIT 开源授权许可证原文地址: https://www.cnblogs.com/likeli/p/8204054.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com