spring-boot-route(一)Controller接收引數的幾種方式

Java旅途發表於2020-10-02

Controller接收引數的常用方式總體可以分為三類。第一類是Get請求通過拼接url進行傳遞,第二類是Post請求通過請求體進行傳遞,第三類是通過請求頭部進行引數傳遞。

1 @PathVariable接收引數

請求方式:localhost:7001/param/123

請求示例:

程式碼示例:

@GetMapping("{id}")
public String getPathVariable(@PathVariable String id){
    return "id="+id;
}

2 @RequestParam接收引數

使用這個註解需要注意兩個點,一是加了這個引數後則請求中必須傳遞這個引數,二是@RequestParam這個註解可以指定名字,請求引數必須和指定的這個名字相同,如果不指定,則預設為具體引數名。

請求方式:localhost:7001/param/getParam?myId=18

請求示例:

程式碼示例:

@GetMapping("getParam")
public String getRequestParam(@RequestParam("myId") String id){
    return "id="+id;
}

3 無註解傳參

這種方式和2對比,最大的區別就是這個引數不是必傳的,請求路徑上可以不傳遞。

請求方式:localhost:7001/param/getString?id=18

請求示例:

程式碼示例:

@GetMapping("getString")
public String getString(String id){
    return "id="+id;
}

4 HttpServletRequest接收引數

請求方式:localhost:7001/param/getRequest?id=18

請求示例:

程式碼示例:

@GetMapping("getRequest")
public String getRequest(HttpServletRequest request){
    String id = request.getParameter("id");
    return "id="+id;
}

5 @RequestBody接收請求體引數

這種方式一般用來傳遞實體物件,加了這個註解後,引數也是必傳的。

請求方式:{"id":18}

請求示例:

程式碼示例:

@PostMapping("getBody")
public String getBody(@RequestBody String id){
    return "id="+id;
}

6 @RequestHeader接收請求頭引數

請求示例:

程式碼示例:

@PostMapping("getHeader")
public String getHeader(@RequestHeader String id){
    return "id="+id;
}

此是spring-boot-route系列的第一篇文章,這個系列的文章都比較簡單,主要目的就是為了幫助初次接觸Spring Boot 的同學有一個系統的認識。本文已收錄至我的github,歡迎各位小夥伴star

githubhttps://github.com/binzh303/spring-boot-route

點關注、不迷路

如果覺得文章不錯,歡迎關注點贊收藏,你們的支援是我創作的動力,感謝大家。

如果文章寫的有問題,請不要吝嗇,歡迎留言指出,我會及時核查修改。

如果你還想更加深入的瞭解我,可以微信搜尋「Java旅途」進行關注。回覆「1024」即可獲得學習視訊及精美電子書。每天7:30準時推送技術文章,讓你的上班路不在孤獨,而且每月還有送書活動,助你提升硬實力!

相關文章