@RequestParam @PathVirable @RequestBody @ApiParam的区别

@RequestParam 

  • 最常用
  • 用value指定参数名字,required字段指定参数是否必须,默认为true,当required=false时,一般配合着defaultValue="xx"使用
  • 对应的url是这样的:
    https://localhost/requestParam/test?key1=value1&key2=value2
 @RequestMapping("/getXxx")
    @ResponseBody
    public String getXxx(HttpServletRequest request,
                                     @RequestParam(value="compareId", required = false)String compareId,
                                     @RequestParam(value="networkType", required = false)String networkType,
                                     @RequestParam(value="simulateDate", required = false)String simulateDate,
                                     @RequestParam(value="productType", required = false)String productType,
                                     @RequestParam("pageNum")int pageNum, 
                                     @RequestParam("pageSize")int pageSize){

}

@PathVirable

  • url是RestFul风格时,就无法用@RequestParam了,就用这个
  • 对应的url是这个样子的
    https://localhost/pathVariable/test/value1/value2
  • 用value指定参数名字,required字段指定参数是否必须,默认为true
@RequestMapping("/pathVariable/test/{param}")
    @ResponseBody
    public String pathVariableTest(@PathVariable(value = "param",required = false)String param){
        return "pathVariable接受到的参数:" + param;
    }

@RequestBody

  • 使用@RequestBody注解表示请求参数来自于请求体, 前台请求参数需以JSON格式传递
  • 对应的url
  • @RequestParam注解用于从前端传递过来的请求参数中获取单个或多个参数,一般用于GET请求,表示前端向后端索要数据。而@RequestBody注解则是从请求体中获取数据,一般用于POST请求,表示前端给后端提供数据
  • @RequestBody注解接受到的JSON实体直接被转为java对象
 @PostMapping("/realTimeExport")
    @Operation(summary = "实时查询车辆信息导出")
    public MessageBean<String> realTimeExport(@RequestBody CarInfoRealTimeQueryParamDTO carInfoRealTimeQueryParamDTO) {
        String export = carInfoService.export(2,null,carInfoRealTimeQueryParamDTO);
        return MessageBean.success(export);
    }

@ApiParam

使用swagger的时候才用得到这个注解,相当于swagger版本的@RequstParam

    @RequestMapping(value="uploadFile",consumes = "multipart/*",headers = "content-type=multipart/form-data",method = RequestMethod.POST)
    @ResponseBody
    public DataResult uploadFile(@ApiParam(value = "上传文件",required = true) MultipartFile file, String resumeID,HttpServletRequest request)throws IOException{
        
        }
 
    }

@Parameter

这是swagger3提供的注解,基本上没人用。也是swagger版本的@RequstParam

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值