在使用.net core 开发Api的过程中,为了统一输入参数的格式,并增加一些全局必须含有的字段,比如:Code,Message,Lang等等,能采取的变通方式还是有几种的,然而都不够优雅,为了需求更优雅的解决方式,本文采用asp.net core支持的自定义模型绑定以及结果过滤方式解决,测试效果达到了预期目的。
MVC过滤器
对于熟悉asp.net 的朋友来说,使用过滤器还是比较容易的,过滤器本身有着严格的顺序,选用哪一种过滤器,必然是经过思考才能进行抉择的,对于输入参数来说,我们想修改参数值,可能比较方便的是选择在操作过滤器上实现。
-
授权过滤器(Authorization)最先运行,用于确定是否已针对当前请求为当前用户授权。 如果请求未获授权,它们可以让管道短路。
-
资源过滤器(Resource)是授权后最先处理请求的筛选器。 它们可以在筛选器管道的其余阶段运行之前以及管道的其余阶段完成之后运行代码。 出于性能方面的考虑,可以使用它们来实现缓存或以其他方式让筛选器管道短路。 它们在模型绑定之前运行,所以可以