Web API验证请求

时间:2016-06-01 14:39:05

标签: c# asp.net-web-api asp.net-web-api2

目前我有一个绑定了FluentValidation的Web API项目来验证进来的请求。这样做可以确保请求有意义。

我的下一步是验证请求。我的意思是一些POST(创建)请求链接到现有实体,可能需要进行以下检查:

  1. 我需要验证链接的实体是否属于当前用户
  2. 检查用户是否已经拥有所请求的相同类型的“活动”实体。
  3. 检查链接的实体是否支持所请求的实体
  4. 我如何进行这些检查?我不想将它绑定到我的FluentValidation中,因为这应该只是验证请求,如果由于验证我将返回错误请求,我不想访问数据库。

    我可以将这些检查添加到控制器中的每个方法中,但这似乎不太好。是否有一个我可以插入的动作或类似的东西,在FluentValidation完成之后但在它击中控制器之前会调用它?

    由于

    亚历

1 个答案:

答案 0 :(得分:2)

可以创建custom Action Filters来进行这些检查,但根据我的经验,这样做通常没有意义,除非您尝试检查的内容几乎适用于所有内容。请求(例如,确保用户已登录)。

我只是将您正在讨论的各种检查的逻辑放入可以轻松重用的单独的实用程序类中,并使每个操作都有责任根据检查调用相应的实用程序方法需要为该行动而发生。