让我们假设我有一堆控制器来渲染文本部分。可通过浏览器的URL访问它们。但是其中一些只是其他人的组成。我想要的是索取几个文本并将其合并。为什么?
也许我可以System.Net.WebClient.DownloadString("https://myserver/path")
,但是效率低下。
@derloopkat在下面请我询问代码示例
[ApiController]
[Route("foo")]
public abstract class FooController: ControllerBase
{
[HttpGet]
public string Get()
{
return "foo";
}
}
[ApiController]
[Route("bar")]
public abstract class BarController: ControllerBase
{
[HttpGet]
public string Get()
{
return "bar";
}
}
[ApiController]
[Route("bar_plus_foo")]
public abstract class CompositeController: ControllerBase
{
[HttpGet]
public string Get()
{
// TODO: how to fetch result of FooController and BarController
// to return concatenation?
}
}
答案 0 :(得分:0)
我们通常不像这样在控制器中编写业务逻辑。 您可以创建服务,并在该服务中隐藏业务逻辑。代码是这样的:
this.http.post(this.url, data, token)
.then(data => {
var response = JSON.parse(data.data);
console.log(response)
})
例如,您可以搜索洋葱架构并在github中查看示例 顺便说一句,不要使控制器抽象。 希望对您有帮助