使用.NET 6开发TodoList应用(30)——实现Docker打包和部署
.NET 6 Web API应用使用最多的场景是作为后端微服务应用,在实际的项目中,我们一般都是通过将应用程序打包成docker镜像进行发布,以便更好地进行部署,包括基于Kubernetes平台的微服务项目部署。
.NET 6 Web API应用使用最多的场景是作为后端微服务应用,在实际的项目中,我们一般都是通过将应用程序打包成docker镜像进行发布,以便更好地进行部署,包括基于Kubernetes平台的微服务项目部署。
在开发一些需要支持多种语言的应用程序时,我们需要根据切换的语言来对应展示一些静态的字符串字段,在本文中我们暂时不去讨论如何结合前端一起来实现根据切换当前应用程序的Culture来实现字符串的自动切换和日期时间的切换,只通过一个简单的例子来展示如何在.NET Web API项目中实现多语言字符串的功能。
应用健康检查在容器部署的微服务场景下非常常见,相比而言单体非容器部署的应用就不太关心这个特性,为了后续的内容我们在本文中简单介绍一下如何实现应用程序的健康检查功能。
在日常开发中,我们需要给前端提供文档化的API接口定义,甚至需要模拟架设一个fake服务用来调试接口字段。或者对于后端开发人员来说,我们可以通过导入这个接口定义文件到Postman或者其他API客户端,省去我们手动录入的麻烦。所以本文就实现如何使用Swagger来管理API接口文档化。
在上一篇文章使用.NET 6开发TodoList应用(25)——实现RefreshToken中,我们通过使用Configuration获取方法GetSection拿到写在appsettings.Development.json中JWT的相关配置字段,这样实现没有问题,但是我们有更好的选择:通过使用强类型的Configuration绑定方法,或者通过Options相关方法来实现。在本文中我们将会分别来看一下这两种方法的实现。
在上一篇文章使用.NET 6开发TodoList应用(24)——实现基于JWT的Identity功能中,我们演示了如何使用.NET框架的Identity组件实现基于JWT Token的认证和授权功能。我们可以想象一下场景:当获取到的Token过期以后,我们必须要重新请求认证接口以获取新的Token,在实际的应用中,表现出来就是虽然当前用户一直在进行业务的操作,但是到了一个固定的时间点后,就会要求用户重新登陆一次来获取新Token,这对用户的体验是非常不友好的。所以我们引出了本文将要介绍的Refresh Token的概念。
在.NET Web API开发中还有一个很重要的需求是关于身份认证和授权的,这个主题非常大,所以本文不打算面面俱到地介绍整个主题,而仅使用.NET框架自带的认证和授权中间件去实现基于JWT的身份认证和授权功能。一些关于这个主题的基本概念也不会花很多的篇幅去讲解,我们还是专注在实现上。
Rate Limiting允许保护我们的API服务免受过多请求的连接导致的性能下降,如果请求次数超过了限制,API服务端将会拒绝后续的请求。
有的时候为了减少客户端请求相同资源的逻辑重复执行,我们会考虑使用一些缓存的方式,在.NET 6中,我们可以借助框架提供的中间件来实现请求资源的缓存。
API接口版本管理,对于一些规模稍大的企业应用来说,是经常需要关注的一大需求。尽管我们的示例程序TodoList很简单,但是我们也可以通过这个应用程序,来实践一下如何管理API接口版本。
系列导航及源代码 需求 在HTTP请求中,我们还剩下两类不常使用的请求没有讲到,本文就来实现以下关于 Read more…
系列导航及源代码 需求 在查询的场景中,还有一类需求不是很常见,就是在前端请求中指定返回的字段,所以 Read more…
系列导航及源代码 需求 关于查询的另一个需求是要根据前端请求的排序字段进行对结果相应的排序。 目标 Read more…
系列导航及源代码 需求 本文我们继续来看查询过程中的另外一个需求:搜索。搜索的含义是目标字段的全部或 Read more…
系列导航及源代码 需求 在查询请求中,还有一类常见的场景是过滤查询,也就是有限制条件的查询,落在数据 Read more…