在swagger-ui页面访问Restful接口/{id},参数值未传入后台

时间:2024-10-12 21:21:41

使用swagger2搭建了一个RESTful API,但是,在页面*问路径中包含 {id}的接口时,后台接收不到参数值。

Cotroller中,方法如下:

    @ApiOperation(value="获取用户详细信息", notes="注意别出错")
    @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String")
    @RequestMapping(value="/{id}", method=RequestMethod.GET)
    public User getUser(@PathVariable String id) {
        System.out.println(id);
       return null;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

1,访问接口:

在这里插入图片描述
后台打印结果如下:
在这里插入图片描述

2,使用Postman访问该接口:

在这里插入图片描述
后台打印结果如下:
在这里插入图片描述

两者对比说明,在swagger页面*问该接口时,后台并没有接收到参数值“2”,而是把“{id}”当做参数值传到了后台。

解决办法如下:

在注解 @ApiImplicitParam中添加 paramType = “path”。

在这里插入图片描述

在swagger页面再次访问该接口,后台打印结果如下:
在这里插入图片描述
打印结果:
在这里插入图片描述