如何使用查询参数中的枚举名发送HTTP请求

如何使用查询参数中的枚举名发送HTTP请求,http,.net-core,enums,json.net,query-parameters,Http,.net Core,Enums,Json.net,Query Parameters,我试图将枚举值作为Post请求的查询参数传递,但它不接受该值?当我尝试发送来自Swagger的请求时,它甚至不发送请求 注意:我使用Newtonsof.Json库,还向启动添加了配置 services.AddMvc(opt => { ... }) .AddNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContrac

我试图将枚举值作为Post请求的查询参数传递,但它不接受该值?当我尝试发送来自Swagger的请求时,它甚至不发送请求

注意:我使用Newtonsof.Json库,还向启动添加了配置

services.AddMvc(opt =>
{
    ...
})
.AddNewtonsoftJson(options =>
{
     options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
     options.SerializerSettings.Converters.Add(new StringEnumConverter());
});

[HttpPost(“{orderId}”)]
公共异步任务RandomTask(字符串orderId,CardBrand CardBrand)
{
return wait_orderService.UpdatePayment(orderId,cardBrand);
}

Swagger具有5.0.0版上提供的DescribeAlleumsAsString功能。我用这个函数解决了我的问题。我希望它也适用于其他人

只是一个友好的提示——如果你解决了自己的问题,最好将你的解决方案添加为答案,而不是将问题本身编辑为“已解决”。您也可以将自己的答案标记为已接受(在短时间等待后),系统将知道您不再寻找解决方案。我不知道这一点,谢谢通知
public enum CardBrand
{
     [Description("MASTER")]
     MASTER,
     [Description("PAYPAL")]
     PAYPAL,
     [Description("VISA")]
     VISA
}

[HttpPost("{orderId}")]        
public async Task<ResponseModel<bool>> RandomTask(string orderId, CardBrand cardBrand)
{
    return await _orderService.UpdatePayment(orderId, cardBrand);
}