如何在 Spring Boot REST 控制器中使用请求和路径参数?

How to use request and path parameters in a Spring Boot REST controller?

我有以下上传控制器,它有两个不同类型的参数:1 是文件将保存到的路径和 2 文件本身。我在看 对于正确的方法定义而不是 2 @Requestparam,它在 STS 中给出错误。

@PostMapping("/{path}/")
public String handleFileUpload(@RequestParam("path"), @RequestParam("file") MultipartFile file,
        RedirectAttributes redirectAttributes) {
    
    filesStorageService.store(file);
    redirectAttributes.addFlashAttribute("message", "You successfully uploaded " + file.getOriginalFilename() + "!");
    
    return "redirect:/";
}

您需要为路径参数使用@PathVariable注释并添加一个额外的参数(String path)来存储它:

@PostMapping("/{path}/")
public String handleFileUpload(
   @PathVariable("path") String path,
   @RequestParam("file") MultipartFile file,
   RedirectAttributes redirectAttributes) {
   [...]