springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

时间:2024-03-28 20:20:44

PathVariable的post、get对比:

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

Get、post都可以获得路径参数。

RequestParam的post、get对比:

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

Get、post都可以获得问号后的请求参数。

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

Requestparam 还可以获得post body里的参数,这时为x-www-form-urlencoded,
改成application/json就错了:

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

RequestBody的post、get对比:

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

报错:get请求报错,请求体未找到。

查看 RequestBody 注解如下:

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

红框中大致意思:用于绑定请求体参数,可用@Valid注解验证。
也就是说 此注解只接收post请求体中的参数。

改为POST请求:

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

报错:不支持的 Media Type :application/x-www-form-urlencoded

改为POST请求,application/json :

springboot各种传参方式与get、post请求——PathVariable、RequestParam、RequestBody(很精辟!)

成功了!

 

转载自:https://segmentfault.com/a/1190000020494316?utm_source=tag-newest