如何解决Web API中转换器的职责范围
我正在使用MediatR编写Web API。我发现自己需要从处理程序中提取方法或实现转换器并在其中移动代码。我要移动的代码使用其他几个中间请求将结果从一个请求准确转换为我的输出。看起来像这样(简化。那里有200行以上的代码):
var errors = new List<Fails>();
var response = await this.client.GetResponse();
errors.AddRange(Validate(response.Data));
var clientDataField = new ClientDataField();
foreach (var dataSample in response.Data)
{
var processedSample = await this.processingClient.Process(dataSample);
if (processedSample.Field1 is null)
{
errors.Add(new СonvertionFail());
}
else
{
clientDataField.NullableField1 = processedSample.Field1;
clientDataField.NullableField2 = processedSample.Field3;
clientDataField.Field3 = processedSample.Field4 ?? defaultField3;
}
clientDataField.Field4 = DoWork(processedSample.Field6,processedSample.Field7);
}
clientDataField.Errors = errors;
return new ClientData()
{
Field1 = clientDataField;
Field2 = response.OtherData;
}
所以问题是-将这段代码放在转换器中并像这样调用它是否合适:
return DataConverter.ToClient(response);
困扰我的是-对于转换器来说,这段代码似乎太复杂了,但是我不想让处理程序肿。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。