Swagger2多参数GET请求

  1. 使用@ApiImplicitParams包裹@ApiImplicitParam;
  2. @RequestParam中将required = false,可避免Required String parameter ‘vehicleVIN’ is not present问题。
@ApiOperation(value = "根据VIN、SN查询车辆信息", notes = "根据VIN、SN查询车辆信息")
    @ApiImplicitParams({@ApiImplicitParam(name = "vehicleVIN", value = "车辆VIN号", required = false, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "vehicleSN", value = "车辆SN号", required = false, paramType = "query", dataType = "String")})
    @RequestMapping(value = "/getvehicleinfo", method = RequestMethod.GET)
    public Result<VehicleInfoResult> getVehicleInfo(@RequestParam(value = "vehicleVIN", required = false) String vehicleVIN, @RequestParam(value = "vehicleSN", required = false) String vehicleSN) {
        Map<String, Object> params = new HashMap<>();
        if (!StringUtils.isEmpty(vehicleVIN)) {
            params.put("vehicleVIN", vehicleVIN);
        }
        if (!StringUtils.isEmpty(vehicleSN)) {
            params.put("vehicleSN", vehicleSN);
        }
        return service.getVehicleInfo(params);
    }

你可能感兴趣的:(Java,SpringBoot)