分布式
中间层向底层传值
Api层
@RequestLine(“POST /selectUser”)
xxx selectUser(Integer id);
底层:Controller
@PostMapping("/selectUser")
public xxx selectUser(@RequestBody Integer id){ } (使用POST请求传参参数 接口中的变量会自动放到请求体中 传递 接受方使用 @RequestBody注解 接受。 不能使用@RequestParam接受原因看下面!!)
GET请求传值
1 建议
中间层向底层传值
Api层
@RequestLine(“GET /refu?orderNo={orderNo}”)
xxx getRf(@Param(“orderNo”) String orderNo);
底层:Controller
@GetMapping("/refu")
public xxx xxx(@RequestParam String orderNo)
2 不建议
@RequestLine(“GET /selectUser/{id}”)
Xxx selectUser(@Param(“id”) Integer id);
Controller
@GetMapping(" /selectUser/{id}")
public Xxx selectUser(@PathVariable(“id”) Integer id){ }
@PathVariable 注解
@RequestParam 这个注解不需要写 在url请求后面写 {xx} 传参
@RequestParam(value="" , required= ) required 默认是trun
在默认情况下为 true,你可以设置这个参数为 false。
如果你设置的参数为 true,但是在提交参数的时候没有提交这个参数,你的 API 将会返回一个异常。
post传值不能使用@RequestParam接收:
GET把参数包含在URL中,POST通过requesr body传递参数
@RequestParam接收的参数是来自requestHeader中 即请求头。 @RequestBody接收的参数是来自requestBody中,即请求体。
换成@RequestBody成功
@PathVariable
@RequestParam