.NET6之Mini API【十八、OpenAPI swagger】
从本篇开始,介绍一些很不错的三方库,来丰富MiniAPI的使用。 在创建MiniAPI项目时,模板提供了一个是否启用OpenAPI的选项,足见这个三方库的优势和强大。 OpenAPI为我们测试API提供了强大的支持,调用API的开发人员,可以轻松测试,参照开发…
51ASPX COMMUNITY
技术实践、开发文档与社区资讯,汇集在这里。
从本篇开始,介绍一些很不错的三方库,来丰富MiniAPI的使用。 在创建MiniAPI项目时,模板提供了一个是否启用OpenAPI的选项,足见这个三方库的优势和强大。 OpenAPI为我们测试API提供了强大的支持,调用API的开发人员,可以轻松测试,参照开发…
缓存是空间换时间的一种做法,可以有效的提升响应时间,asp.net core引入了本地内存缓存和分布式缓存。 先看一下本地内存缓存: using Microsoft.Extensions.Caching.Memory; using Microsoft.Exte…
对于web,安全是一个永久的话题,所以ASP.NET Core数据保护提供了一个简单,易用的加密API,可以用来保护数据,密钥管理和轮换。 ASP.NET Core的数据保护是根据本机的一个key来生成加密码,然后再用这个key来解密,如果key不一样,解密失…
前一篇的跨域请求的方式是松宽的方式,毕竟跨域有安全风险,应尽量少的允许访问必要资源,本篇分别从请求方法,请求头和请求凭据方面了解跨域设置。 请求方法: api项目,get,post是默认访问,这里只设置了PUT允许访问 using Microsoft.AspN…
为了说明跨请求,创建了两个项目,一个mini api,端口是5001,另一个razor page项目,端口是5280。5280项目会在页面用ajax的方式来请求5001,形成跨域请求,由于是本地测试,host都是localhost,所以通过端口号不同,形成不同…
程序员开发程序,是“ 生 ”的过程,运维人员负责日常运维,是“ 养 ”的过程,在养的过程,运维人员希望在第一时间了解程序的状况,健康检查,是最基础的手段。 var builder = WebApplication.CreateBuilder(args); //…
说明:本篇重点说明MiniAPI引入EntityFramework,EF的使用不是本篇的重点 本篇是在MiniAPI中使用EntityFramework,所以先奉上创建数据的脚本,数据库是SQL Server,可能版本不同,会有一些问题,可以自行调整,这个脚本…
.net开发体系里,大部分本地化的实现都是用资源文件实现(.resx),asp.net core中的多语Culture是指区域性的对象,而UICulture 该对象表示资源管理器在运行时查找区域性特定资源时所用的当前用户接口区域性。 asp.net core实…
JWT不管是基于角色,还是自定义策略,实现的步骤都是大同小异的,基于自定义策略的步骤如下: 1、appsettings.json中配置JWT参 2、添加身份认证和授权服务和中间件,并设置为策略模式和策略名称 3、定义生成Token的方法和验证Toekn参数的方…
身份验证是这样一个过程:由用户提供凭据,然后将其与存储在操作系统、数据库、应用或资源中的凭据进行比较。 在授权过程中,如果凭据匹配,则用户身份验证成功,可执行已向其授权的操作。 授权指判断允许用户执行的操作的过程。也可以将身份验证理解为进入空间(例如服务器、数…
说明:本篇简单说一下日志中常用的几个点,关于日志,后面重点会说到三方日志提供程序 在MiniAPI中,可以通过方法或构造函数中,获取框架自动注入的日志类型,如下方式: app.MapGet("/test", (ILogger<Program> logger) …
http协议,是由客户端发出请求,服务端响应结果并返回,我们把这个请求来回抽象成一个请求管道,那中间件就是这个管道上的阀门,控制着流量的进出和中断。每一个请求都要经过中间件的过滤,滤掉不合格的请求,放行合格的请求,比如用户验证,只有授权的用户通过,没有授权的用…