我想知道是否有一种方法可以标记为服务堆,即您只希望为请求执行流畅的验证过滤器,而不是继续运行真实的代码?如何仅执行服务堆请求验证代码
理想情况下,你可以将属性添加到任何要求,像
`ExecuteValidationOnly = true`
这对于测试非常有用,以及验证表单客户端。
谢谢。
我想知道是否有一种方法可以标记为服务堆,即您只希望为请求执行流畅的验证过滤器,而不是继续运行真实的代码?如何仅执行服务堆请求验证代码
理想情况下,你可以将属性添加到任何要求,像
`ExecuteValidationOnly = true`
这对于测试非常有用,以及验证表单客户端。
谢谢。
有内置ServiceStack没有这样的功能,但你可以很容易地添加短路请求,基于查询字符串请求过滤器,例如:刚刚ValidationFeature后
public class SkipRequestFeature : IPlugin
{
public void Register(IAppHost appHost)
{
appHost.GlobalRequestFilters.Add((req, res, dto) => {
if (req.QueryString["SkipRequest"] == "true")
res.EndRequestWithNoContent();
});
}
}
并注册插件,所以它的经过验证,如执行:
Plugins.Add(new ValidationFeature());
Plugins.Add(new SkipRequestFeature());
对于这种情况,我通常单元测试我的实际AbstractValidator<T>
类,然后当我需要测试我创建了验证,并设置验证呼叫模拟服务。
所以有一个MyValidatorTests
类和一个MyServiceTests
类。
完美。谢谢! – richardwhatever