重新安装响应验证



是否有人将FluentValidation与重新安装客户端结合使用?

作为我正在开发的系统的一部分,我调用了各种REST服务,我想使用FluentValidation以统一的方式验证类型化的响应。

很明显,我可以在每次调用重新装配客户端内联后手动验证,但我想知道是否有任何范围可以自动找到相关的验证器并调用它们。

我想我看到的是类似于Mediator中验证行为模式的东西。

我有几个想法:

1.用验证包装器装饰每个客户端接口

这需要使用一个支持装饰的IoC容器,这意味着我必须创建每个客户端接口的实现,然后验证改装后的响应。

2.将验证DelegatingHandler添加到管道

这可能最终不得不反序列化内容——执行验证——然后将响应返回到链中的下一个处理程序。在内容较小的情况下,这可能是可以的。。。

3.使用自定义验证JsonConverter

在这里,我将包装一个Json.Net转换器,并在反序列化中执行验证。

或者我错过了改装的一些功能,这会有帮助吗?或者我的建议看起来很疯狂吗?!

谢谢,

尼克。

我使用了中介和改装,我们使用了这种模式:

  • (在通用管道处理程序中(将命令/查询验证到处理程序

    如果失败=>400,具有标准验证结果

  • 呼叫处理程序。。。。。

    在处理程序中进行http调用

    来自api的响应返回。

    如果重新装配apiResponse错误抛出400并出现验证错误==>

    (在通用管道处理程序中(检查apiResponse。如果400看验证错误(这是我们自己的东西,所以我们可以处理它(并通过它们返回给具有400和标准验证结果的呼叫者

所有这些都将通过api层,只需最少(无(的开发输入,UI将以自己的方式显示结果。

如果你想使用一个";标准";错误响应可能如下所示:https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.problemdetails?view=aspnetcore-5.0用于我的最新项目!

工作起来很有魅力!

相关内容

  • 没有找到相关文章

最新更新