排除在Swagger UI中列出的属性

时间:2017-06-20 05:50:26

标签: c# asp.net-mvc asp.net-web-api swagger swagger-ui

假设我有以下型号

public class UserResourceParameters 
{
  public string FirstName { get; set;}
  public string LastName { get; set; }
  public string FullName { get => FirstName + " " + LastName; }
}

以下控制器操作

[HttpGet]
public IActionResult Get(UserResourceParameters resourceParameters)
{
  ...
}

当我运行我的应用程序并转到上述操作的swagger界面/ UI时,它将所有3个属性列为可接受的参数

  1. 名字
  2. 全名
  3. 实际上,我并不希望Swagger将FullName显示为可接受的参数之一,因为我只想让它成为一个吸气剂。

    如何告诉swagger仅显示FirstNameLastName作为可接受的参数?

1 个答案:

答案 0 :(得分:2)

The simplest way is decorate property with annotation [JsonIgnore].

public class UserResourceParameters 
{
  public string FirstName { get; set;}
  public string LastName { get; set; }
  [JsonIgnore]
  public string FullName { get => FirstName + " " + LastName; }
}