繁体   English   中英

.NET 6 - 如何使用可选路由参数 ASP.NET 核心 WEB ZDB974238714CA8DE634A7CE1D083A

[英].NET 6 - How to use Optional Route Parameters ASP.NET Core WEB API?

我创建了一个 ASP.NET 核心 WEB API 模板项目并针对 Z303CB0EF9EDB9082D616BBBE5825D972。

我有以下 controller 代码,

using System.Text.Json;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;

namespace abc.Controllers;

[Authorize]
[ApiController]
[Route("api/v{version:apiVersion}/customers/{customerId?}")]
public class XYZController : ControllerBase
{
    [HttpPost]
    public string PostAsync(int customerId)
    {
        return JsonSerializer.Serialize("Sample");
    }
}

在Swagger UI中,还是按要求看到customerId,

在此处输入图像描述

我应该如何解决这个问题?

您不将路由输入参数用于 controller 路由,仅用于操作

[Route("~/api/v{version:apiVersion}/customers")]
public class XYZController : ControllerBase
{
    [HttpPost("{customerId}"]
    public string PostAsync(int customerId)
    {
        return JsonSerializer.Serialize("Sample");
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM