SpringBoot接收參數(shù)的8種方式示例詳解
更新時間:2023年08月25日 10:43:44 作者:我名異俠
這篇文章主要介紹了SpringBoot接收參數(shù)的8種方式,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
1. 直接把請求參數(shù)寫在方法的形參中
- 此場景適用于請求參數(shù)較少的情況
- 任何請求都可以
@RequestMapping("/fun1")
public Book fun1(String name, Long id){
log.info("{} {}",id,name);
Book book=new Book(id, name);
return book;
}
2. 封裝一個bean直接來接收
@RequestMapping("/fun2")
public Book fun2(Book book){
log.info("book={}",book);
return book;
}
3. 原生的HttpServletRequest接收
- 同時適用get、post方法
- 是整個請求,可以獲取到所有的數(shù)據(jù)
- 可以和其他的注解配合適用
- HttpServletRequest、HttpServletResponse都是內(nèi)置對象,可以使用
@RequestMapping("/fun3")
public Book fun3(HttpServletRequest request){
log.info("{} {}",request.getParameter("id"),request.getParameter("name"));
return new Book(Long.parseLong(request.getParameter("id")),request.getParameter("name"));
} // key-value 類型
Map<String, String[]> map = request.getParameterMap();
// 路徑參數(shù)
String pathInfo = request.getPathInfo();
// body內(nèi)容
ServletInputStream inputStream = request.getInputStream();
4. @PathVariable獲取rest風(fēng)格路徑參數(shù)
@RequestMapping("/fun4/{id}/{name}")
public Book fun4(@PathVariable long id,@PathVariable String name){
log.info("{} {}",id,name);
Book book=new Book(id, name);
return book;
}
5. @RequestParam綁定請求參數(shù)到方法形參
@RequestMapping("/fun6")
public Book fun6(@RequestParam("name") String name,
@RequestParam("id") Long id){
log.info("{} {}",id,name);
Book book=new Book(id, name);
return book;
}當(dāng)請求參數(shù)username或者password不存在時會有異常發(fā)生,可以通過設(shè)置屬性required=false解決 @RequestParam(value="username", required=false)

6. @RequestBody綁定請求參數(shù)到方法形參
- 只能Post方法
- 參數(shù)必須Json字符串
- Body只能有一個
@RequestMapping("/fun7")
public Book fun7(@RequestBody Book book){
log.info("book={}",book);
return book;
}
7. @RequestHeader
- RequestHeader主要用來獲取請求當(dāng)中的請求頭
// 方式1:獲取單個header屬性
@RequestMapping("/geteHeader")
public void getHeader(@RequestHeader("user-id") String userId){
}
//方式2:獲取所有header屬性
@RequestMapping("/geteHeader")
public void getHeader(@RequestHeader Map<String, String> headers){
}
//方式3 獲取header對象
@RequestMapping("/geteHeader")
public void getHeader(@RequestHeader HttpHeaders headers){
}8. @CookieValue
- 使用@CookieValue注解來獲得指定的 Cookie 的值。
@GetMapping("park/getCookie")
public String getCookieValue(@CookieValue("jid") String jId) {
System.out.println(jId);
return "success";
}到此這篇關(guān)于SpringBoot接收參數(shù)的8種方式的文章就介紹到這了,更多相關(guān)SpringBoot接收參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
最新IntelliJ IDEA 2021版配置 Tomcat 8.5 的詳細步驟
idea開發(fā)工具一直是java環(huán)境最好用,很受廣大開發(fā)者喜愛,今天通過本文給大家分享最新IntelliJ IDEA 2021版配置 Tomcat 8.5 的詳細步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下2021-06-06
Spring Boot 實現(xiàn)敏感詞及特殊字符過濾處理
這篇文章主要介紹了SpringBoot實現(xiàn)敏感詞及特殊字符過濾處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

