相关问题:Want to document optional JSON parameters in Swagger
从相关问题开始,我知道我可以在POJO字段上使用@ApiModelParam将其标记为必需或可选。但是,假设我有一个POJO,它用作多个API的数据传输对象(DTO),和/或用作同一API的输入和输出参数。如果该字段的必需/可选状态根据上下文而有所不同(正在使用哪个API,无论是输入还是输出参数,等等),是否有办法轻松地在Swagger中进行记录?
作为一个例子,假设我有以下POJO:
public class myPojo {
private String val1;
private String val2;
private String val3;
}
现在,举例来说,val1是数据库表的ID。创建时,我不想设置val1。我希望数据库为我分配一个唯一的PK。但是,当我从创建调用将myPojo返回给调用者时,必须将val1设置为确保它在数据库中。因此,我的create API将val1输入为可选,输出为必需。
我们也说我有一个更新操作。对于更新操作,需要一个ID(因此在输入和输出上都需要val1),但是对于我的更新操作,只需要需要更新的参数(val2或val3)即可(假设使用update操作来null字段不在范围内)。因此,即使在创建时需要val2和val3在更新时也是可选的。
有没有办法做到这一点?