@RequestParam 和 @Pathvariable 说明
前者用于/xxx?id=123的情况
后者用于/id=123的情况
@RequestBody接收只有单个键值对的json
@PostMapping("/info")
public BaseResponse<OrderInfoDTO> info(@RequestBody Map<String,String> params) {
String orderId = params.get("orderId");
return orderService.info(orderId);
}
华为云OBS图床上传图片示例
@PostMapping("/image")
public BaseResponse<String> uploadImg(@RequestParam(value = "file",required = false)MultipartFile file) {
String fileName = file.getOriginalFilename();
if(fileName == null || fileName.equals("")) {
throw new BusinessException(ErrorCode.NULL_ERROR, "上传文件为空");
}
String prefix = fileName.substring(fileName.lastIndexOf("."));
File tmpFile = null;
try {
tmpFile = File.createTempFile(fileName, prefix);
file.transferTo(tmpFile);
String endPoint = "";
String accessKey = "";
String securityKey = "";
ObsClient obsClient = new ObsClient(accessKey, securityKey, endPoint);
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyyHH:mm:ss");
String date = formatter.format(new Date());
fileName = date + fileName;
// CopyUtils.
// localfile为待上传的本地文件路径,需要指定到具体的文件名
obsClient.putObject("upload-imgs", fileName, tmpFile);
String returnUrl = "" + fileName;
return ResultUtils.success(returnUrl);
} catch (IOException e) {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "上传图片出现故障:" + e.getMessage());
} finally {
File f = new File(tmpFile.toURI());
f.delete();
}
}