如何在ASP.net Core 2中创建动态API,>

问题描述 投票:2回答:1

我需要知道如何通过调用另一个API然后传递[API name][API parameters]来创建API的[[动态

,让我们假设我们拥有这个API,就像这里显示的那样:Calling API

[HttpPost("GenerateApi")] [ProducesResponseType(200)] [ProducesResponseType(500)] public IActionResult GenerateApi(RootObject ro) { //Here I need piece of code to create API dynamically return Ok(new { ro.apiName, ro.parameters }); }

这里是模型:

public class RootObject { public string apiName { get; set; } public List<parameter> parameters { get; set; } } public class parameter { public string parameterName { get; set; } public dynamic parameterType { get; set; } }

现在需要做的是在控制器中创建

动态API

因此我们将创建API,可以像这样从其URL进行调用

www.example.com/api/v1/[controller]/[apiName]/{[parameter1_value]}/{[parameter2_value]}

请您提供一些我的见解。

[我需要知道如何通过调用另一个API然后传递[API名称]和[API参数]来动态创建API,让我们假设我们拥有这个API,就像这里显示的那样:[HttpPost(“ ...] >

c# api controller asp.net-core-2.1
1个回答
0
投票
发现一些可以帮助MVC的东西。万一有人在寻找这个,我需要覆盖DefaultHttpControllerSelector。这是一篇关于该主题的非常好的文章:link因此,基本上对于上述我的用例,我需要创建一个新的AppDomain,在其中启动我的服务,并在运行时动态加载程序集。我最后需要覆盖DefaultHttpControllerSelector来捕获请求。当请求到达时,它可以控制我要使用哪个控制器。在那里,我可以通过加载新的程序集等动态地更新控制器。要注意的主要事情是,这是针对每个请求执行的,因此很容易影响性能和内存。因此,我将实现自己的控制器缓存。
© www.soinside.com 2019 - 2024. All rights reserved.