我有这个dto:
public class UserTo extends AbstractBaseTo {
@NotBlank(message = "Name must not be blank")
@Size(min = 2, max = 100, message = "Name length must be between 2 and 100 characters")
private String name;
@Email(message = "Email must accord email pattern")
@NotBlank(message = "Email must not be blank")
@Size(max = 100, message = "Email length must be 100 characters max")
private String email;
@NotBlank(message = "Password must not be blank")
@Size(min = 5, max = 32, message = "Password length must be between 5 and 32 characters")
private String password;
.......
我在usercontroller的许多方法中使用这个dto,但是,例如,在login方法中,我只使用两个字段:email和password。
当我使用swagger为我的api创建文档时,它会在login方法的文档中显示userto的所有字段。我希望它只显示两个字段。我该怎么做?我不想创建额外的dto(您知道,有2或3个字段)。我试着使用swagger的@requestbody注解来创建所需requestbody的一些示例,但它不起作用。
我使用SpringBoot和SpringFox3.0.0。
1条答案
按热度按时间pcww981p1#
您可以使用
不想显示的字段。但是隐藏字段对于您的swagger ui中的每个api都是隐藏的。
还有一种方法需要您创建另一个dto。您可以创建另一个dto,并要求springfox显示新的替代dto,而不是原来的dto。
这种方法不会使您更改代码,但您需要创建另一个dto。此外,还需要在DocketBean中注册additionalmodel。