我在团队中有一个要求,我需要创建一个api,它应该为用户提供所有可用的api和用户请求的相应请求。我打算在数据库表中保存api端点,并根据用户请求,读取并获取此uri。但我不确定如何从不同的api控制器访问与api端点关联的请求对象。
switch (service.ToUpper())
{
case "MYFUNCTIONALITY":
detail.endPoint = "api/myfunctionality/random";
detail.requestObject = new AutoCreditCardTransactionRequest() { Quantity = 5, AcctmyIDs = myaccts };
break;
default: break;
}
return detail;
在上面的代码中,我已经硬编码了结束点,并且基于case语句,还提到了请求类。由于我需要为所有终点执行此操作,我希望将这些终点移动到DB然后从中读取,但问题是如何获取结束点的请求类而不是指定请求类< / p>
答案 0 :(得分:0)
您可以使用ApiExplorer类的ApiDescriptions属性获取API端点的ApiDescription,然后使用ApiDescription.ParameterDescriptions属性访问API的输入参数。如下所示
ApiParameterDescription paramDesc; // Use appropriate code to populate this
var type = paramDesc.ParameterDescriptor.ParameterType;
var defaultValue = paramDesc.ParameterDescriptor.DefaultValue;