在 Swagger 中显示自定义属性的属性名称

问题描述 投票:0回答:1

我有一个名为 UserLanguage 的属性,其类型是 Language (我创建的记录),它具有三个属性 Name、Alpha2Code 和 Alpha3Code。

因此,在我的请求模型中,我将属性指定为语言,但在 swagger 上,它仅显示为这样

{
  "name" : "",
  "userlanguage" : {}
}

我想看起来像这样:

 {
      "name" : "",
      "userLanguage" : {
          "name" : "",
          "alpha2Code" : "",
          "alpha3Code" : ""
       }
 }

如何在 .NET 6 Web API 中实现它?

c# .net swagger swagger-ui
1个回答
0
投票

你可以这样尝试:

public class UserLanguage
{
    public string Name { get; set; }
    public string Alpha2Code { get; set; }
    public string Alpha3Code { get; set; }
}

public class YourRequestModel
{
    public string Name { get; set; }
    public UserLanguage UserLanguage { get; set; }
}

// In your Controller
[ApiController]
[Route("api/[controller]")]
public class YourController : ControllerBase
{
    [HttpPost("yourEndpoint")]
    public IActionResult YourEndpoint([FromBody] YourRequestModel model)
    {
        // Your endpoint logic here
        return Ok();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.