@ApiParam@PathVariable@RequestParam三者区别
1 @ApiParam的使用
@ApiParam 顾名思义,是注解api的参数,也就是用于swagger提供开发者文档,文档中生成的注释内容。
1.1@ApiParam在POST请求中的使用
1.1.1参数使用@RequestParam注解
ApiParam在post请求中,在得到请求参数时使用@RequestParam注解;在POST请求中,在得到参数时可以使用@RequestBody注解,在GET请求中不能使用@RequestBody。
@ApiOperation(value = "编辑公告POST",notes = "编辑公告POST",httpMethod = "POST")
@RequestMapping(value = "/edit",method = RequestMethod.POST)
public String edit01(
@ApiParam(name="id",value="用户id",required=true) @RequestParam("id") Long id,
@ApiParam(name="username",value="用户名") @RequestParam("username") String username){
String result="id:"+id+"--username:"+username;
System.out.println(result);
return result;
}
1.1.2@ApiParam在GET请求中的使用
ApiParam在GET请求中,在得到参数使用@PathVariable注解,在GET请求中不能使用@RequestBody
@ApiOperation(value = "编辑公告GET",notes = "编辑公告GET",httpMethod = "GET")
@RequestMapping(value = "/edit/{id}/{username}",method = RequestMethod.GET)
public String edit02(
@ApiParam(name="id",value="用户id",required=true) @PathVariable("id") Long id,
@ApiParam(name="username",value="用户名") @PathVariable("username") String username){
String result="id:"+id+"--username:"+username;
System.out.println(result);
return result;
}
1.1.3@RequestParam
@RequestParam是获取前端传递给后端的参数,可以是get方式,也可以是post方式。其中如果前端传递的参数和后端你接受的参数起的名字字段是一致的可以省略不写,也可以直接写**@RequestParam String title**,如果不一致一定要完整写,不然获取不到,如下面的bis_key就必须写。
@ApiOperation( value = "编辑公告", notes = "编辑公告", httpMethod = "POST" )
@RequestMapping( value = "/edit03", method = RequestMethod.POST )
public String edit03(
@ApiParam(name = "bis_key", value = "bis_key", required = true) @RequestParam("bis_key") String biskey,
@ApiParam(name = "title", value = "公告标题", required = true) @RequestParam("title") String title,
@ApiParam(name = "content", value = "公告内容", required = true) @RequestParam("content") String content){
String result="bisKey:"+biskey+"--title:"+title+"--content"+content;
System.out.println(result);
return result;
}
1.1.4@PathVariable
@PathVariable,是获取get方式,url后面参数,进行参数绑定
@ApiOperation(value = "删除公告", notes = "删除公告", httpMethod = "POST")
@RequestMapping(value = "/delete/{bisKey}", method = RequestMethod.POST)
public String edit04(
@ApiParam(name = "bisKey", value = "需要删除的公告ids", required = true) @PathVariable String bisKey) {
String result="bisKey:"+bisKey;
System.out.println(result);
return result;
}