SpringBoot @RequestParam @PathVariable@RequestBody

前后端分离,前台URL调用后台接口,后台接口获取参数
前台采用React,后台SpringBoot
对于@RequestParam @PathVariable@RequestBody三种方式,如何选择不同的获取参数方式

1.应用@RequestBody获取参数
前台代码:

export async function addUser(params) {
return request('/Manager/addUser', {
method: 'POST',
body: {
...params,
method: 'update',
},
});
}
后台代码:

@ResponseBody
public ResponseEntity<JSONObject> addUser(@RequestBody Map params)

    ===========================================================

2.应用@RequestParam获取参数
前台代码:
export async function searchUserTenant(params) {
return request(/Manager/getInstance/searchInstance?${stringify(params)});
}
后台代码:

public ResponseEntity<ReturnResult> searchInstanceInfo(@RequestParam Map params)

====================================================================

3.应用@PathVariable获取参数
前台代码:
export default async function queryError(code) {
return request(/api/${code});
}
后台代码:

public ResponseEntity<ReturnResult> getCode(@PathVariable("code") String code)

===================================================================