1..net开拓情况:asp.net core 3.1
2.Linux情况:CentOS Linux release 7.9.2009 (Core)
3.Swagger: Swashbuckle.AspNetCore6.0
4.开拓东西:VS2019,xShell7,xFtp7
选择上面的东西--》NuGet包揽理器--》打点办理方案的打点包
搜索Swashbuckle.AspNetCore,并安装即可
Swashbuckle.AspNetCore
2.3设置Swagger找到项目标中Startup.cs 文件,修改内容如下:
代码如下:
public void ConfigureServices(IServiceCollection services) { services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); // 获取xml文件名 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; // 获取xml文件路径 var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); // 添加节制器层注释,true暗示显示节制器注释 options.IncludeXmlComments(xmlPath, true); }); services.AddControllers(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } //启用中间件处事生成Swagger作为JSON终结点 app.UseSwagger(c=> { c.PreSerializeFilters.Add((doc,item)=> { doc.Servers = new List<OpenApiServer> { new OpenApiServer{ Url=$"{item.Scheme}://{item.Host.Value}/{item.Headers["X-Forwarded-Prefix"]}" } }; }); }); //启用中间件处事对swagger-ui,指定Swagger JSON终结点 app.UseSwaggerUI(c => { c.ShowExtensions(); c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); c.DocExpansion(DocExpansion.None); c.RoutePrefix = string.Empty; //假如跟目次显示SwaggerUI加上这句 }); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
2.4配置生成的API文档首先启动项目,之后会生成一个Demo1.xml文件,如下图所示,单击文件Demo.xml文件,修改复制到输出目次: 假如较新则复制
三.宣布API 3.1宣布措施选择项目名称,右键选择宣布
选择文件夹,之后选择下一步,选择完成即可。
点击宣布按钮即可
3.2上传措施利用Xftp软件,把当地宣布的文件上传到Linux系统中
到此,API已经建设,也上传随处事器了。
四.启动项目利用Xshell东西,毗连到我们的Linux操纵系统,利用cd path 呼吁进入到之前上传的文件夹中。
进入目次:cd /home/www/test
查察文件列表:ls
输入呼吁:dotnet Demo1.dll,如下图所示,这是乐成的在Linux中启动了我们宣布的API项目。
192.168.6.130:把你Linux的IP替换我的这个192.168.6.130,在会见
在你的欣赏器中输入::5000/index.html
到此,我们就完成一个Asp.net core宣布的API,陈设到Linux系统中,乐成启动运行。
五.总结通过如上操纵,也只是简朴粗拙的在Linux中启动WebApi,让我进修了.net core也是可以跨平台的,也是总结一下踩坑的履历,好比说陈设Api中假如有Swagger,正常的陈设是无法会见,需要修改设置西信息查察2.3 Swagger设置,后头打算继承深入,把API陈设到Dokcer中,利用nginx来实现反向署理。固然这些在事情中完全用不到,就是想进修相识,这个技能能帮我办理什么问题,只能相识更多,碰着问题才气有多个办理要领。加油,干饭人!