昂首阔步:定制示例JSON请求正文

时间:2020-03-19 15:42:08

标签: java spring api swagger springfox

关于Swagger中的请求正文示例,我有一个问题。

这是我的整个用户实体示例:

{
"id": 14,
"firstname": "fghfgh",
"lastname": "fghfghfgh",
"email": "customer",
"password": "pass",
"roles": [
    {
        "id": 3,
        "name": "customer"
    }
]

}

我有注册方法,该方法使用用户实体作为参数:

    @ApiOperation(value = "Registering seller", response = User.class)
@PostMapping(value = "/seller/register")
public User addSeller(@RequestBody @Valid User user){
    return userService.addSeller(user);
}

我将注册端点与没有id和role字段的User实体一起使用(此字段添加在后端)

示例注册请求正文:

{
    "firstname": "345345",
    "lastname": "fghfghfgh",
    "email": "customer3",
    "password": "pass"
}

夸大地说,我的示例请求正文根据参数是整个User实体: enter image description here

但是我想获得不带id和role字段的Swagger请求正文示例,如何以正确的方式做到这一点?我必须使用名字,姓氏,电子邮件和密码字段创建UserRegister类,并将其用作注册方法参数吗?还是还有其他选择使用User实体作为参数?

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用id功能在用户实体中隐藏roles@ApiModelProperty(hidden=true),不确定是否是您想要的,但是您可以尝试一下。

答案 1 :(得分:-1)

似乎您正在使用JAVA。

因此,您可以尝试摇摇欲坠的代码生成器来解决该问题。它支持Java并根据swagger.yml文件创建Model类。

有关swagger code generator的更多信息。

Swagger编辑器here