在ASP.NET中使用foreach循环从多个Swagger输入中获取数据,你可以按照以下步骤进行操作:
public IEnumerable GetSwaggerInputs()
{
var swaggerDoc = HttpContext.GetEndpoint()?.Metadata.GetMetadata()?.SwaggerDocs.FirstOrDefault();
if (swaggerDoc != null)
{
foreach (var pathItem in swaggerDoc.Value.Paths.Values)
{
// 遍历每个路径项
foreach (var operation in pathItem.Operations)
{
// 遍历每个操作
var inputModel = new SwaggerInputModel
{
Path = pathItem.Key,
HttpMethod = operation.Key.ToString(),
Summary = operation.Value.Summary
// 可根据需要获取其他数据
};
yield return inputModel;
}
}
}
}
HttpContext.GetEndpoint()
方法获取当前的Swagger文档信息。然后,我们遍历每个路径项和操作,创建一个自定义的SwaggerInputModel
对象,并从Swagger文档中获取需要的数据。yield return
语句将每个SwaggerInputModel
对象返回给调用方。请注意,上述代码中的SwaggerInputModel
是一个自定义的模型类,你可以根据需要自行定义。
这样,你就可以通过调用GetSwaggerInputs
方法来获取从多个Swagger输入中获取到的数据了。