【发布时间】:2015-09-23 18:14:28
【问题描述】:
所有关于 Web API 的示例和服务器上的返回资源状态如下所示:
var resource = repository.Get(id);
if(resource == null)
{
return NotFound();
}
return resource;
这适用于最简单的架构。
但是有很多业务逻辑和服务调用这些存储库,我看不出我仍然可以使用这种方法。
在我们的架构中,每个 Web api 控制器都会注入一个服务,每个服务都会注入一个或多个存储库,甚至注入其他服务。
现在我的服务没有返回资源的简单 Get 方法。
这些服务可能如下所示:
action(string materialNumber)
{
var pdf = service.CreateProductPDF(materialNumber);
return pdf;
}
class Service
{
public XXX CreateProductPDF(string materialNumber)
{
// Do repository call here but HOW do I let the action know that the materialNumber does not exist?
// Create product pdf from materialNumber
}
}
我的问题在上面的评论中。
【问题讨论】:
标签: c# http asp.net-web-api architecture asp.net-web-api2