net 中间件动态过滤api的返回值

需求:api方法返回的信息是固定的,现在业务发生调整不同人员看到的返回字段可配置,为人员配置不可查看字段,方法的返回值中不可查看字段将会被过滤。

处理思路:通过中间件处理api的返回值,若调用方法的用户设置了不可查看字段,处理Response去掉不可查看字段。

创建webapi项目,添加测试方法GetJson,返回一个对象的json信息

 

添加中间件处理ProxyMiddleware,处理测试方法GetJson返回的Response

 

 

 Netonsoft.Json将返回信息解析为JObject,使用JObject提供的Remove方法将熟悉字段、数组某个元素移除。达到返回值过滤的效果。

未使用中间件处理前的返回结果

 

 

 

中间件处理返回值之后的结果

结果:api的返回值中''Title"字段被过滤掉,“Items”数组的第一个元素被一次没有返回。(真实情况从配置信息读取要过滤的属性字段)

demo代码地址:

 

posted @ 2023-02-20 15:59  fisherLB  阅读(50)  评论(0编辑  收藏  举报