C# 使用各类拦截器 设计api

C# 使用各类拦截器 设计api

想重新开个坑,做个使用各类拦截器为基础来做一个 c#的api服务
同时完成相关的安全操作

使用技术

  • .Net FrameWork 4.5

其实知道大家现在都玩.net 6.0了,但是这次我是借着公司分配的任务 来自己总结下经验,语言方面只能选择 4.5FrameWork.
不过,如果我用 4.5的FrameWork都能实现,那.net Core一定不再话下
主要还是想跟大家分享下使用各类拦截器进行api接口设计的思想(这个思想我也是参考的百小僧大佬的Furion框架的设计思想)

使用工具

  • postman

过滤器、拦截器科普

大家可以参考这位博主的介绍,学一下C# 相关过滤器的概念

我后面也会把各层过滤器代码 一个个的写上,大家一起学习,一起分享

设计思想概述

  • C#程序启动一个端口监听,配置相关的跨域请求、监听端口、请求方式等
  • 依次进入
    • 权限验证过滤器(AuthorFilter)
    • 资源过滤器(ResourceFilter)
    • 数据统一封装过滤器(ResultFilter)
    • 方法过滤器(RequestActionFilter)
  • 异常过滤器(ExceptionFilter)
  • 最终进入业务层,如果业务层返回失败的逻辑,直接抛 特定异常类型 到异常过滤器,由异常过滤器进行统一处理
  • 然后异常过滤器返回重写的数据结果,再次通过ResultFilter进行数据统一封装
  • 其中,异常过滤器的设计采用了 抛出异常代替return返回的设计思路
    ps: 以上的这些过滤器,大家不要在意了…我用.net framework写的时候,发现 .net FrameWork和net core过滤器差别很大,后面我会开坑说说.net framework的过滤器相关知识,这边文章就作为 net core过滤器的知识吧

数据流程图

在这里插入图片描述

代码我将在后续补充,各个Filter可能会存在不同的内容调整,等我后面写代码的时候,也会不定期对本篇博客进行修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值