我有一个Web API控制器,例如:
[HttpGet]
[Route("accounts", Name = "GetAccounts")]
public async Task<IHttpActionResult> GetAccounts()
{
var query = Request.RequestUri.PathAndQuery.Split('/')[2];
var response = await Client.HTTPCLIENT.GetAsync(Client.HTTPCLIENT.BaseAddress + query);
if (!response.IsSuccessStatusCode)
{
return NotFound();
}
var readAsAsync = response.Content.ReadAsAsync<object>();
if (readAsAsync == null)
{
return NotFound();
}
var result = await readAsAsync;
return Ok(result);
}
我的问题是我是否应该简化控制器并将此逻辑推入新的服务/业务逻辑层?
我的用例是让此代码在服务结构上的微服务中运行。
在此架构中添加其他图层是多余/不必要的复杂性,是否有好处?
答案 0 :(得分:0)
据我所知,这个控制器唯一能做的就是调用另一个服务并返回结果。我在这里看不到任何可以提取给其他服务的内容。
我总是会问,您获得更多服务会带来什么好处?就物理机器资源使用,开发成本和维护而言,往返服务是相对昂贵的。