gpt4 book ai didi

c# - 如何在 ASP.net Core 2 中创建动态 API

转载 作者:行者123 更新时间:2023-12-03 02:41:24 34 4
gpt4 key购买 nike

我需要知道如何通过调用另一个 API 然后传递 [API 名称][API 参数]动态创建 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; }
}

现在需要做的是在 Controller 中创建动态 API

那么我们就创建了 API,可以像这样从 URL 调用它们

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

您能否向我提供一些对此的见解。

最佳答案

发现一些东西可以在 MVC 中提供帮助。如果其他人正在寻找这个,我需要覆盖 DefaultHttpControllerSelector。这是关于该主题的一篇非常好的文章:link因此,基本上对于上面提到的用例,我需要创建一个新的 AppDomain,在其中启动我的服务,并在运行时动态加载我的程序集。我最终需要覆盖 DefaultHttpControllerSelector 来捕获请求。当请求到达时,它就可以控制我要使用的 Controller 。在那里,我可以通过加载新程序集等动态更新 Controller 。需要注意的是,这是针对每个请求执行的,因此它很容易影响性能和内存。所以我将实现我自己的 Controller 缓存。

关于c# - 如何在 ASP.net Core 2 中创建动态 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60585564/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com