使用@modelAttribute接收的参数,如何在swagger文档中映射成paramType为body

发布于 2022-09-07 16:53:39 字数 1639 浏览 12 评论 0

1,post请求中使用@modelAttribute接收参数,在swagger-ui文档中paramterType 是query,我想要得到body类型的

2,代码

@ApiModel("用户描述")
public class User {

@ApiModelProperty(value="用户名称",required=true)  
private String name;  
@ApiModelProperty(value="用户年龄",required=true)  
private Integer age;  

public String getName() {  
    return name;  
}  

public void setName(String name) {  
    this.name = name;  
}  

public Integer getAge() {  
    return age;  
}  

public void setAge(Integer age) {  
    this.age = age;  
}  

@Override  
public String toString() {  
    return "User [name=" + name + ", age=" + age + "]";  
}  

}

@ApiOperation(value = "GET BODY更新数据")

@RequestMapping(value = "model/{id}", method = RequestMethod.GET)  
public ResponseEntity<ModelMap> modelResource(@ApiParam(value="用户",required=true) @ModelAttribute User user,   
        @ApiParam(name = "id", value = "编号", required = true) @PathVariable String id){  
    System.out.println(user);  
    ModelMap modelMap = new ModelMap();  
    modelMap.put("status", HttpStatus.OK.value());  
    modelMap.put("timestamps",System.currentTimeMillis());  
    modelMap.put("msg", HttpStatus.OK.getReasonPhrase());  
    modelMap.put("user", user);  
    modelMap.put("apiversion", 2);  
    return ResponseEntity.status(HttpStatus.OK).body(modelMap);  
}  

效果
clipboard.png

想要的效果

clipboard.png

不想改变@modelAttribute注解,而得到body类型的参数

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁吢 2022-09-14 16:53:39

@ModelAttribute User user 换成@RequestBody User user

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文