swagger 如何根据名称自动加入[HttGet] 属性

///
/// action没有httpmethod attribute的情况下根据action的开头名称给与默认值
///
/// IApplicationBuilder
/// 默认给定的HttpMethod
public static void AutoHttpMethodIfActionNoBind(this IApplicationBuilder app, string defaultHttpMethod = null)
{
//从容器中获取IApiDescriptionGroupCollectionProvider实例
var apiDescriptionGroupCollectionProvider = app.ApplicationServices.GetRequiredService();
var apiDescriptionGroupsItems = apiDescriptionGroupCollectionProvider.ApiDescriptionGroups.Items;
//遍历ApiDescriptionGroups
foreach (var apiDescriptionGroup in apiDescriptionGroupsItems)
{
foreach (var apiDescription in apiDescriptionGroup.Items)
{
if (string.IsNullOrEmpty(apiDescription.HttpMethod))
{
//获取Action名称
var actionName = apiDescription.ActionDescriptor.RouteValues[“action”];
//默认给定POST
string methodName = defaultHttpMethod ?? “GET”;
//根据Action开头单词给定HttpMethod默认值
if (actionName.StartsWith(“get”, StringComparison.OrdinalIgnoreCase))
{
methodName = “GET”;
}
else if (actionName.StartsWith(“put”, StringComparison.OrdinalIgnoreCase))
{
methodName = “PUT”;
}
else if (actionName.StartsWith(“delete”, StringComparison.OrdinalIgnoreCase))
{
methodName = “DELETE”;
}
apiDescription.HttpMethod = methodName;
}
}
}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值