PostMapping和GetMapping区别,使用场景个人理解

先讲一下:参数多少我个人觉得不能决定是否采用哪一种,虽然参数多了用GetMapping确实很麻烦【因为你要写一大串的@RequestParam(“args”)】,但是参数少的时候,GetMapping、 PostMapping,差不多,主要区别还是数据传输的方式性质来决定.
1.@PostMapping
对应接收参数的注解:@RequestBody
解释:一个类的时候,或者你不想你的参数直观的被用户看到,因为PostMapping,接收参数正常是放在Body里面的,而不是拼在请求地址后面的,所以相对来说要安全一点儿,所以涉及数据库的添加、修改信息等操作、适合用这个。
举例:手机号密码登录接口

@Data
@ApiModel("手机号密码认证参数")
public class LoginByPhonePassword {
    @ApiModelProperty(value = "手机号码", required = true)
    private String phone;

    @ApiModelProperty(value = "用户密码", required = true)
    private String password;
}
    @ApiOperation("手机号密码登录")
    @PostMapping("/loginByPhonePassword")
    public void loginByPhonePassword(@Valid @RequestBody LoginByPhonePassword loginByPhonePassword){
    //TO-DO U R thing
    }

2.@GetMapping
对应接收参数的注解:@RequestParam 、@PathVaiable
解释:参数是拼接在请求地址后面的,如果你觉得你要传输到后端接口的东西是无关紧要的而且数量很少,就一个两个,用GetMapping确实还是比较方便的。
*举例:*根据ID查询用户信息

    @ApiOperation("根据ID查询个人信息")
    @GetMapping("/getUserInfoById")
    public void loginByPhonePassword(@RequestParam("id") Integer id ){
    //TO-DO U R thing
    }

个人意见,希望错误的地方,能不吝赐教!

你可能感兴趣的:(spring,spring,boot,spring,cloud)