nuget

.net WebApi使用swagger 美化接口文档

懵懂的女人 提交于 2020-05-02 08:29:31
本文将一步步演示如何用swagger美化WebApi接口文档,为接口文档添加接口名称说明,为请求参数和返回数据结构字段含义添加注释说明 一、为WebApi项目安装Swagger 首先我们新建一个WebApi项目 图1(新建WebApi项目) 右击项目,选择管理NuGet程序包,搜索swagger,为WebApi安装swagger 图2(右击项目或者解决方案,选择管理NuGet程序包) 图2(在管理NuGet程序包中搜索Swagger) Swagger安装成功后,App_Start目录会多出一个SwaggerConfig.cs文件 修改HomeController中的Index 运行项目,出现如下图,说明Swagger安装成功 二,为接口添加请求参数字段说明 新建一个类库,用于存放WebApi请求和响应相关模型,并在WebApi中添加对该类库引用 右击WebApiModel项目属性-->生成,勾选XML文档文件,为WebApiModel生成项目Xml文档 在WebApiModel中新增LoginModel类 using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading

PCB DotNetCore Swagger生成WebAPI文档配置方法

匆匆过客 提交于 2020-05-02 08:29:12
在.net framework框架下可以使用WebApiTestClientWebApi生成WebAPI接口文档与方便接口测试用,而在DotnetCore却没有找到这个工具了,baidu查找一下发现有一个相类似的工具,它就是Swagger,和使用WebApiTestClientWebApi差不多的,这里Swagger配置过程整理如下: 一.下载Swashbuckle.AspNetCore NuGet下载安装Swashbuckle.AspNetCore 二.Startup.cs代码修改 1.ConfigureServices方法加入 Swagger新增以下代码 // 运行时调用此方法。使用此方法向容器中添加服务。 public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // Swagger新增代码 services.AddSwaggerGen(options => { // API文档信息 options.SwaggerDoc( " v1 " , new Info { Version = " V1 " , Title = " PCB WebApi " ,

.netcore3.1添加swagger及JWT Authorize 验证

£可爱£侵袭症+ 提交于 2020-05-02 08:28:21
上一篇我们已经弄好了swaager ,接下赖集成一下jwt进行认证。 首先引入Microsoft.AspNetCore.Authentication.JwtBearer nuget包 在startup中加入jwt配置。这里ValidIssuer和ValidAudience和secret 最好配置一下,我这里写死了。 services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(x => { x.RequireHttpsMetadata = false ; x.SaveToken = true ; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true , IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes( " 123456111111111111111111 "

【大道至简】NetCore3.1快速开发框架一:集成Swagger

≡放荡痞女 提交于 2020-05-02 08:28:04
在上一章节中,我们创建了基本的框架结构: https://www.cnblogs.com/fuyu-blog/p/12217647.html 下面我们测试接口和集成Swagger接口文档 一、接口测试 在默认创建的API中,大大和2.2不一样的是给了一个默认的接口示例,但不是Values了,变成了一个天气预报,【为什么呢~~~】 好吧,不管是Values还是天气预报,只要能运行起来,就是好大大 在Api项目右击,点击选择运行,或者在工具栏,点击运行-启动而不调试 自动会打开浏览器,运行成功 下一步,我们自己新建的接口测试一下 在API项目中,Controller文件夹,右击新建文件 选择ASP.NET Core ——Web Api控制器类,输入一个自己写的名字,点击新建按钮 这样一个简单的接口测试类就生成了 生成项目F6 输入测试地址: https://localhost:5001/api/values 访问成功 二、集成Swagger接口文档 在FytSoa.Api项目右击依赖项中,选择管理nuget包,并搜索Swashbuckle.AspNetCore包添加至引用 添加成功 在 Startup 类中 添加并配置 Swagger 中间件 public void ConfigureServices(IServiceCollection services) { services

.NET core3.0 使用Jwt保护api

独自空忆成欢 提交于 2020-05-02 08:27:48
摘要: 本文演示如何向有效用户提供jwt,以及如何在webapi中使用该token通过JwtBearerMiddleware中间件对用户进行身份认证。 认证和授权区别? 首先我们要弄清楚认证(Authentication)和授权(Authorization)的区别,以免混淆了。认证是确认的过程中 你是谁 ,而授权围绕是 你被允许做什么 ,即权限。显然,在确认允许用户做什么之前,你需要知道他们是谁,因此,在需要授权时,还必须以某种方式对用户进行身份验证。 什么是JWT? 根据维基百科的定义,JSON WEB Token(JWT),是一种基于JSON的、用于在网络上声明某种主张的令牌(token)。JWT通常由三部分组成:头信息(header),消息体(payload)和签名(signature)。 头信息指定了该JWT使用的签名算法: header = ' {"alg":"HS256","typ":"JWT"} ' HS256 表示使用了HMAC-SHA256来生成签名。 消息体包含了JWT的意图: payload = ' {"loggedInAs":"admin","iat":1422779638} ' // iat表示令牌生成的时间 未签名的令牌由 base64url 编码的头信息和消息体拼接而成(使用"."分隔),签名则通过私有的key计算而成: key = '

.NetCore2.1 WebAPI新增Swagger插件

*爱你&永不变心* 提交于 2020-05-02 07:18:23
说明 Swagger是一个WebAPI在线注解、调试插件,过去我们主要通过手工撰写WebAPI接口的交互文档供前端开发人员或外部开发者, 官网地址: https://swagger.io/ 。 但是在实际工作中,往往咋们的文档工作通常落后于实际的环境,导致文档和实际接口不一致,前后端开发人员苦不堪言。 Swagger的出现解放了接口文档撰写的麻烦也提高了前后端开发者的工作效率,所谓“工欲善其事,必先利其器 ”。现在让咋们 了解下在.NET Core 2.1下如何实现Swagger。 1、Nuget安装依赖包 首先Nuget安装Swashbuckle.AspNetCore 打开Nuget控制台(程序包管理控制台),键入下列命令 Install-Package Swashbuckle.AspNetCore 2、添加Swagger中间件 public IServiceProvider ConfigureServices(IServiceCollection services) { services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request.

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()

.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 3.1 swagger使用

ぐ巨炮叔叔 提交于 2020-05-02 02:04:38
网上的swagger教程很多,配置一堆东西,很容易跑不通,看公司同事搞得用法挺精简,适合入门使用 1、nuget安装下面的包 2、增加如下#region区域代码 public void ConfigureServices(IServiceCollection services) { services.AddControllers(); #region swagger services.AddSwaggerGen(c => { c.SwaggerDoc( " v1 " , new Microsoft.OpenApi.Models.OpenApiInfo { Title = " TEST API " , Version = " v1 " }); }); #endregion } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); #region swagger app.UseSwagger(); app.UseSwaggerUI(c

autofac 在webapi中拿到当前request的scope

五迷三道 提交于 2020-05-01 18:22:45
https://stackoverflow.com/questions/31321386/autofac-web-api-get-current-scope Unless you are using OWIN in your API, you should have your Autofac configuration setup in your WebAPI like this, which is the standard way to configure Autofac for WebApi. Include nuget pacakge Autofac.Integration.WebApi var builder = new ContainerBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterType<MyType>(); var container = builder.Build(); var resolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = resolver;