SpringBoot—GET和PUST请求中@RequestParam

GET请求

 @GetMapping("/list")
    public ResultVO<List<ProjectVO>> queryProjectListByName(@Validated  String  projectName){
    
    
          return 1;
    }
@PostMapping("/quit")
    public ResultVO<String> quitProjectById(@Validated @RequestParam  Long  projectId){
    
    
        return 1;
    }

为什么一个需要加@RequestParam 才能有值另一个不用加@RequestParam就有值
在Spring Boot中,处理GET请求时,请求参数通常会被自动地解析并映射到方法的形参中,所以不需要使用@RequestParam注解来显式地指明请求参数的名称,这就是第一个示例中的情况。然而,在处理POST请求时,请求参数通常被包含在请求体中,并不会像GET请求那样被自动解析,所以需要使用@RequestParam注解来告知Spring Boot请求参数的名称。

因此,在第一个例子中,projectName参数被自动解析并映射到方法的形参中,并且不需要使用@RequestParam显式指明参数名称。而在第二个例子中,projectId是POST请求的请求参数,它是通过在请求体中传递参数来实现的,因此需要通过@RequestParam注解来显式指定请求参数的名称为projectId。

猜你喜欢

转载自blog.csdn.net/l_010/article/details/131204058
今日推荐