You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Swagger与C#开发Minimal API:如何定义Header参数?

在Swagger中为C# Minimal API定义Header参数

我正在用Swagger和C#开发Minimal API,不清楚怎么定义Header参数,比如想要类似[SwaggerHeaderParameter("apikey", "description...")]这样的形式,找了很多办法都没找到简便的解决方案,希望能得到帮助。

原始示例代码

using Swashbuckle.AspNetCore;

app.MapPut("/myapi",
[SwaggerResponse(200, "Success")]
[SwaggerResponse(400, "Bad request")]
    async Task<IResult> (HttpRequest request, ILogger<Program> log, CancellationToken ct) =>
    {
         var result = await request.ReadFromJsonAsync<MyClass[]>(request.HttpContext.RequestAborted);
         // [Required] 对应supplierID和Stocknumber组合的唯一API密钥
         var apikey = request.Headers["apikey"].ToString();
                    
            return Results.Ok(successList);
                
     })
     .Accepts<MyClass[]>(false, "application/json")
     .Produces<string[]>(StatusCodes.Status200OK, "text/plain")
     .Produces<Error>(StatusCodes.Status400BadRequest)

改进后的代码(感谢@Guru Stron的帮助)

app.MapPut("/myapi",
[SwaggerResponse(200, "Success")]
[SwaggerResponse(400, "Bad request")]
    async Task<IResult> (HttpRequest request, [FromHeader] string apikey, ILogger<Program> log, CancellationToken ct) =>
    {
       ...
    })
...

内容的提问来源于stack exchange,提问作者Bjorn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 12:56:07