【问题标题】:API Filters and ValidationAPI 过滤器和验证
【发布时间】:2018-09-08 03:22:46
【问题描述】:

是否最好在主要工作开始之前在过滤器(即 ActionFilterAttribute)中进行所有验证?

在我的应用程序中,我必须验证 URL 中的数据,例如日期验证、是否为数字、是否来自允许设备的传入 URL 和 Base64 授权。从那里将数据插入到数据库中。它目前可以工作,但我会在最后完成所有验证,但我想改进一些事情。

总之,我应该使用过滤器进行前期验证,然后移动到主端点并完成数据的插入。主要优点和缺点是什么?

我一直在对过滤器进行一些研究,但我没有找到任何明确说明使用它们进行全面验证的内容。似乎使用过滤器是进行验证的最佳方式。

【问题讨论】:

    标签: c# api validation actionfilterattribute exceptionfilterattribute


    【解决方案1】:

    您可以将过滤器用于不特定于任何组件的验证,或者在任何工作之前必须完成的某些验证,这样您就可以在多个操作中重复使用这些过滤器。

    对于与特定功能相关的数据验证,最好让适当的操作来处理它,否则你会以一堆过滤器结束。

    简单地说:

    • 使用过滤器:验证来自允许设备的传入 URL 和 Base64 授权。

    • 使用操作来:验证参数(即日期、数字等)

    【讨论】: