swagger

.netcore3.1添加swagger

我怕爱的太早我们不能终老 提交于 2020-05-02 07:18:08
先打开netcore官网查看swagger接入文档,路径:netcore 官网 那就跟着官网一步一步来吧 首先建立一个.netcore3.1的webapi,这个就不演示了。 从官网上可以看到最简单的引入swaager的步骤如下: 1、引入最新版的swaager Install-Package Swashbuckle.AspNetCore -Version 5.0 . 0 -rc4 2、在startup类中的 ConfigureServices 方法中的服务集合中添加如下代码 // Register the Swagger generator, defining 1 or more Swagger documents services.AddSwaggerGen(c => { c.SwaggerDoc( " v1 " , new OpenApiInfo { Title = " My API " , Version = " v1 " }); }); 3、 在startup类中的 Configure 方法中 启用中间件为生成的 JSON 文档和 Swagger UI 提供服务 // Enable middleware to serve generated Swagger as a JSON endpoint. app.UseSwagger(); // Enable middleware

在IIS上部署你的ASP.NET Core项目

 ̄綄美尐妖づ 提交于 2020-05-02 06:34:32
概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。 部署之前要确保你的IIS上已经安装了AspNetCoreModule托管模块,如果没有的话,点击 这里 进行下载并安装 一、安装IIS 1、在控制面板→程序→启用或关闭Windows功能→勾选Internet Information Services以及Web管理工具下的IIS管理控制台 二、发布项目 1、发布我们上一篇建好的ASP.NET Core API项目,然后选择IIS,新建一项发布配置 2、发布方法选择文件系统,然后设置一个发布路径 3、配置文件可以根据你线上、线下的环境进行选择,因为是基于.NET

使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档

99封情书 提交于 2020-05-02 06:02:15
一、问题   使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档的方法 二、解决方案   参考文章:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs=visual-studio   1、 Install-Package Swashbuckle.AspNetCore   2、在ConfigureServices中添加AddSwaggerGen。 public void ConfigureServices(IServiceCollection services) { services.AddDbContext <TodoContext>(opt => opt.UseInMemoryDatabase( " TodoList " )); services.AddMvc(); // Register the Swagger generator, defining one or more Swagger documents services.AddSwaggerGen(options => { // options.DescribeAllEnumsAsStrings(); options.SwaggerDoc( "

发布后的项目打开swagger

纵饮孤独 提交于 2020-05-02 05:41:22
使用netcore作为纯后端提供api已经变得越来越频繁,swagger也成为很多人的选择。通常会在代码中限制ASPNETCORE_ENVIRONMENT为Production时关闭swagger。但是往往我们需要将api发布到本地iis调试或供他人使用时,swagger将会被禁止。发布后项目往往默认为Production环境,将其修改为Development即可解决。 解决方法 打开发布到iis的文件夹下的web.config文件,添加以下代码: <environmentVariables> <environmentVariable name= " ASPNETCORE_ENVIRONMENT " value= " Development " /> </environmentVariables> 修改后的web.config结构大致如下: <?xml version= " 1.0 " encoding= " utf-8 " ?> <configuration> <location path= " . " inheritInChildApplications= " false " > <system.webServer> <handlers> <add name= " aspNetCore " path= " * " verb= " * " modules= "

thinkjs+swagger Editor

霸气de小男生 提交于 2020-05-02 05:40:02
一直很好奇专门写接口同事的工作,于是趁着手边工作中的闲暇时间,特地看看神奇的接口文档怎么摆弄。 总览: 这是基于thinkjs(3.0),使用swagger editor编写,实现功能性测试的接口文档。 先了解一些必要的知识吧: 1.)什么是Swagger? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件;是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。( https://swagger.io/ ) Swagger的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。当服务通过Swagger定义,消费者就能与远程的服务互动通过少量的实现逻辑。类似于低级编程接口,Swagger去掉了调用服务时的很多猜测。 2.)Swagger Editor 可以直接使用在线编辑器 https://editor.swagger.io/ (左边编辑,右边实时效果),方便我们直接写文档,并将其转成所需的json或者yaml格式。 3.

.net core 3.0_webapi项目使用Swagger提供接口帮助页面

。_饼干妹妹 提交于 2020-05-02 05:22:28
  前言:我们开发了很多的接口后,为了方便调用人员使用,需要给出接口地址,参数和解释说明,可能还需要示例。 那么swagger这个开源项目,已经给我们提供好了一整套的解决方案:   本博客参考文档:    Swashbuckle 和 ASP.NET Core 入门      什么是 Swagger/OpenAPI? Swagger 是一个与语言无关的规范,用于描述 REST API。 Swagger 项目已捐赠给 OpenAPI 计划 ,现在它被称为开放 API。 这两个名称可互换使用,但 OpenAPI 是首选。 它允许计算机和人员了解服务的功能,而无需直接访问实现(源代码、网络访问、文档)。 其中一个目标是尽量减少连接取消关联的服务所需的工作量。 另一个目标是减少准确记录服务所需的时间。(说明参考微软官方文档: https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-3.0 )   快速添加webapi项目对swagger的支持:    1-添加程序包引用:Swashbuckle.AspNetCore -Version 5.0. 0-rc4 (该版本目前属于预览版,需要勾选预览版才可以看到)   2- 添加并配置 Swagger

Net Core的API文档工具Swagger

若如初见. 提交于 2020-05-02 05:20:16
一、安装swagger   新建一个net core的api项目,通过NuGet安装Swashbuckle.AspNetCore。 二、注册swagger服务   在Startup.cs中注册Swagger生成器。 public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // 注册Swagger生成器,定义一个和多个Swagger 文档 #region Swagger services.AddSwaggerGen(options => { options.SwaggerDoc( " v1 " , new Info { Title = " My API " , Version = " v1 " }); }); #endregion }   启用Swagger。 public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseHsts()

.netCore Swagger 文件上传的友好提示

时光怂恿深爱的人放手 提交于 2020-05-02 04:57:53
本人使用的是ABP netcore +Swagger环境。 在这之前,网上搜索到的解决方案都没有解决我的问题,swaggerUI上IFromFile内部的属性都展示到swagger上了。 网上解决的方法大同小异,在这就贴一篇作为比较http://www.cnblogs.com/intotf/p/10075162.html 使用效果前: 使用后效果: 话不多说,直接上代码 Swagger选项过滤器代码 using Microsoft.AspNetCore.Http; using Swashbuckle.AspNetCore.Swagger; using Swashbuckle.AspNetCore.SwaggerGen; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Threading.Tasks; namespace ZGBPurchase.Web.Host { public class SwaggerFileUploadFilter : IOperationFilter { private static readonly string[] FormFilePropertyNames = typeof(IFormFile

.NetCore2.1项目升级到.NetCore3.1的一点记录

∥☆過路亽.° 提交于 2020-05-02 04:48:46
前言 最近将近半个月没有更新博客了,因为找到了新的工作,开始上班了。上班之余也没闲着,上周末将自己去年的一个.NetCore2.1的框架升级到了3.1版本。在升级过程中还是出现了不少问题。有些是版本升级必须要解决的,有些是因为自己犯了强迫症,一定要将引用的Nuget包升级到当前最新版本。 这里就凭借记忆,记录下这次升级的点点滴滴吧。 框架引用的Nuget包 这里先将引用到的部分Nuget包罗列出来,都是常用的库。 Autofac AutoMapper NewLife.Redis NLog System.Text.Json Microsoft.AspNet.SignalR DotNetCore.NPOI Quartz Swashbuckle.AspNetCore 升级到.NetCore 3.1出现的几个明显的问题 使用第三方IOC容器方式的改变导致依赖注入这一块代码需要改动 Startup内提供内置的依赖注入服务有所改变,导致原有的部分方法编译可通过运行时则异常 跨域实现部分微软做了更细化的限制,原有的跨域部分代码运行时异常 依赖的组件出现的问题 AutoMapper升级到9.0后因为官方移除了静态API导致所有引用到AutoMapper映射的地方都要改,同时需要将IMapper注入到DI容器内 Swashbuckle.AspNetCore升级到5.1后API有所更新

.NetCore swagger发布到iis时访问api出现404的解决方案

|▌冷眼眸甩不掉的悲伤 提交于 2020-05-02 04:46:57
介绍 使用netcore作为纯后端提供api已经变得越来越频繁,swagger也成为很多人的选择。通常会在代码中限制ASPNETCORE_ENVIRONMENT为Production时关闭swagger。但是往往我们需要将api发布到本地iis调试或供他人使用时,swagger将会被禁止。发布后项目往往默认为Production环境,将其修改为Development即可解决。 解决方法 打开发布到iis的文件夹下的web.config文件,添加以下代码: 1 < environmentVariables > 2 < environmentVariable name ="ASPNETCORE_ENVIRONMENT" value ="Development" /> 3 </ environmentVariables > 修改后的web.config结构大致如下: 1 <? xml version="1.0" encoding="utf-8" ?> 2 < configuration > 3 < location path ="." inheritInChildApplications ="false" > 4 < system.webServer > 5 < handlers > 6 < add name ="aspNetCore" path ="*" verb ="*"