需求:api方法返回的信息是固定的,现在业务发生调整不同人员看到的返回字段可配置,为人员配置不可查看字段,方法的返回值中不可查看字段将会被过滤。
处理思路:通过中间件处理api的返回值,若调用方法的用户设置了不可查看字段,处理Response去掉不可查看字段。
创建webapi项目,添加测试方法GetJson,返回一个对象的json信息
添加中间件处理ProxyMiddleware,处理测试方法GetJson返回的Response
Netonsoft.Json将返回信息解析为JObject,使用JObject提供的Remove方法将熟悉字段、数组某个元素移除。达到返回值过滤的效果。
未使用中间件处理前的返回结果
中间件处理返回值之后的结果
结果:api的返回值中''Title"字段被过滤掉,“Items”数组的第一个元素被一次没有返回。(真实情况从配置信息读取要过滤的属性字段)
demo代码地址:
标签:返回,api,中间件,处理,过滤,返回值,net From: https://www.cnblogs.com/qmjblog/p/17137457.html