Swagger .net core 3.1升级:DataContract和DataMember-无法隐藏字段
我有一节课要上Swagger .net core 3.1升级:DataContract和DataMember-无法隐藏字段,swagger,wcf-binding,datacontract,asp.net-core-3.1,datamember,Swagger,Wcf Binding,Datacontract,Asp.net Core 3.1,Datamember,我有一节课要上 [DataContract] public class Request { [DataMember] public int Id{get; set;} //calculated field public int Salary{get; set;} [DataMember] public int Name{get; set;} } 我可以通过没有[DataMember]属性来隐藏字段“Salary”。有没有办法在请求中隐藏/不公开该字段
[DataContract]
public class Request
{
[DataMember]
public int Id{get; set;}
//calculated field
public int Salary{get; set;}
[DataMember]
public int Name{get; set;}
}
我可以通过没有[DataMember]属性来隐藏字段“Salary”。有没有办法在请求中隐藏/不公开该字段
[DataContract]
public class EmployeeDetailResponse
{
[DataMember]
public int Id{get; set;}
[DataMember]
public string Grade{get; set;}
//Used while calculating grade and should be hidden
public int Salary{get; set;}
[DataMember]
public int Name{get; set;}
}
预期输出:我希望将请求用作:
请求:
Id
Name
Id
Salary (Not hidden)
Name
及回应为
Id
Grade
Name
Id
Grade
Salary (Not hidden)
Name
实际产出为:
请求:
Id
Salary (Not hidden)
Name
及回应为
Id
Grade
Name
Id
Grade
Salary (Not hidden)
Name
我正在使用swagger进行测试,希望在请求中只看到Id和Name,当我输入输入值并执行时,我希望在响应中看到Id、Grade和Name。大摇大摆地展示着工资的价值。这是在升级到.net core 3.1之后发生的。我希望薪资字段不会序列化,也不应该在响应中公开使用
System.Text.Json.Serialization中的[JsonIgnore]
来隐藏字段,以免序列化/炫耀
据我所知,DataContract/DataMember完全被忽略。使用System.Text.Json.Serialization中的[JsonIgnore]
来隐藏字段,防止序列化/炫耀
据我所知,DataContract/DataMember完全被忽略。@Henkholtman我已经更新了这个问题-它并没有隐藏工资,我可以在response@HenkHolterman我正在使用swagger进行测试,希望在请求中只看到Id和名称,当我输入这些值并执行时,我想在回复中看到Id、等级和姓名。它也在显示薪水及其价值。这是在升级到.net core 3.1之后发生的。我希望薪资字段不会序列化,也不应在response@HenkHolterman我已经更新了这个问题——它并没有隐藏工资,我可以在屏幕上看到它们response@HenkHolterman我正在使用swagger进行测试,希望在请求中只看到Id和名称,当我输入这些值并执行时,我想在回复中看到Id、等级和姓名。它也在显示薪水及其价值。这是在升级到.net core 3.1之后发生的。我希望薪资字段不会序列化,也不应该在响应中公开