springboot控制層傳遞參數為非必填值的操作
springboot控制層傳遞參數為非必填值
需求是查詢全部評價時,后端控制層的level為非必選項,即為空。
這里@RequestParam(required=false)就可以處理level為非必須值的情況。
如果沒有這一行,當level為空時,會返回空白頁面。
這里要注意一下!是個坑
Controller層接收參數的形式
1.參數存在于請求路徑中
1.請求的參數:http://localhost:8080/postman/123
123作為參數傳遞到后臺,接收方法:使用@PathVariable注解
@PathVariable是spring3.0的一個新功能:接收請求路徑中占位符的值
@RestController @RequestMapping("postman") public class controllerTest { /* localhost:8080/postman/*** */ @PostMapping("{id}") public void testPost(@PathVariable("id") Long id){ System.out.println("接收到的參數"+id); } }
2.請求的參數:http://localhost:8080/postman?id=123
接收方法:使用注解@RequestParam(“id”)
/* localhost:8080/postman?id=1234 */ @GetMapping public void testPost2(@RequestParam("id") Long id){ System.out.println("接收到的參數"+id);//接收到的參數1234 }
2.參數在請求體中
1.參數以K-V鍵值對的形式發(fā)送
后臺接收
@PostMapping public void testPost3(Person person){ System.out.println("接收到的參數"+person);//接收到的參數Person(name=笑爛臉, age=23, sex=男) }
2.參數以json對象的形式發(fā)送
注:前后端分離的項目,參數一般都是以JSON對象的形式發(fā)送
后臺接收
@PostMapping public void testPost4(@RequestBody Person person){前后端分離的項目,前端傳遞的數據都是json對象,所以后臺想要接受對應的數據,必須要加@RequestBody注解,否則接收不了 System.out.println("接收到的參數"+person);//接收到的參數Person(name=笑爛臉, age=23, sex=男) }
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家.
相關文章
SpringBoot 指標監(jiān)控actuator的專題
未來每一個微服務在云上部署以后,我們都需要對其進行監(jiān)控、追蹤、審計、控制等。SpringBoot就抽取了Actuator場景,使得我們每個微服務快速引用即可獲得生產級別的應用監(jiān)控、審計等功能,通讀本篇對大家的學習或工作具有一定的價值,需要的朋友可以參考下2021-11-11Java中IO流 RandomAccessFile類實例詳解
這篇文章主要介紹了Java中IO流 RandomAccessFile類實例詳解的相關資料,需要的朋友可以參考下2017-05-05