Swagger 如何在特定操作中隐藏模型属性?

Swagger 如何在特定操作中隐藏模型属性?,swagger,swashbuckle,Swagger,Swashbuckle,我对虚张声势有些不满。 我们有这样一个模范学生: public class Student { public int Id { get; set; } public string Name { get; set; } public string Class { get; set; } public StudentStatus Status { get; set; } } 现在,在PUT操作中,一切正常,但在POST中,我想从我们必须发送到API的主体中删除Id和

我对虚张声势有些不满。 我们有这样一个模范学生:

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Class { get; set; }
    public StudentStatus Status { get; set; }
}
现在,在PUT操作中,一切正常,但在POST中,我想从我们必须发送到API的主体中删除Id和status参数

你知道怎么做吗


非常感谢解决这个问题的人

您应该有一个单独的模型类,它准确地表示允许客户端为两个操作中的每一个发送的内容。因此,在本例中,有两个独立的类,称为StudentPostModel和StudentPutModel,并在每个类中包含所需的字段


除了让事情在招摇过市中变得混乱之外,如果您试图在不同的上下文中重复使用同一个模型(如您所概述的),您还可能会受到过度发布攻击。

您应该有一个单独的模型类,准确地表示允许客户端为两个操作中的每一个发送的内容。因此,在本例中,有两个独立的类,称为StudentPostModel和StudentPutModel,并在每个类中包含所需的字段


除了在招摇过市中让事情变得混乱之外,如果你试图在不同的环境中重复使用同一个模型,比如你正在概述的内容,你也会让自己受到过度发布的攻击。

哦,好的。我明白了。不幸的是,我的老板想在任何地方都使用相同的模式。这就是我们现在陷入困境的原因。谢谢你的帮助。哦,好的。我明白了。不幸的是,我的老板想在任何地方都使用相同的模式。这就是我们现在陷入困境的原因。谢谢你的帮助。