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

Controller接收參數的經常使用方式整體能夠分爲三類。第一類是Get請求經過拼接url進行傳遞,第二類是Post請求經過請求體進行傳遞,第三類是經過請求頭部進行參數傳遞。java

1 @PathVariable接收參數

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

請求示例:github

代碼示例:redis

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

2 @RequestParam接收參數

使用這個註解須要注意兩個點,一是加了這個參數後則請求中必須傳遞這個參數,二是@RequestParam這個註解能夠指定名字,請求參數必須和指定的這個名字相同,若是不指定,則默認爲具體參數名。spring

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

請求示例:緩存

代碼示例:微信

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

3 無註解傳參

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

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

請求示例:

代碼示例:

@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;
}

本文示例代碼已上傳至github,點個star支持一下!

Spring Boot系列教程目錄

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

spring-boot-route(二)讀取配置文件的幾種方式

spring-boot-route(三)實現多文件上傳

spring-boot-route(四)全局異常處理

spring-boot-route(五)整合Swagger生成接口文檔

spring-boot-route(六)整合JApiDocs生成接口文檔

spring-boot-route(七)整合jdbcTemplate操做數據庫

spring-boot-route(八)整合mybatis操做數據庫

spring-boot-route(九)整合JPA操做數據庫

spring-boot-route(十)多數據源切換

spring-boot-route(十一)數據庫配置信息加密

spring-boot-route(十二)整合redis作爲緩存

spring-boot-route(十三)整合RabbitMQ

spring-boot-route(十四)整合Kafka

spring-boot-route(十五)整合RocketMQ

spring-boot-route(十六)使用logback生產日誌文件

spring-boot-route(十七)使用aop記錄操做日誌

spring-boot-route(十八)spring-boot-adtuator監控應用

spring-boot-route(十九)spring-boot-admin監控服務

spring-boot-route(二十)Spring Task實現簡單定時任務

spring-boot-route(二十一)quartz實現動態定時任務

spring-boot-route(二十二)實現郵件發送功能

spring-boot-route(二十三)開發微信公衆號

這個系列的文章都是工做中頻繁用到的知識,學完這個系列,應付平常開發綽綽有餘。若是還想了解其餘內容,掃面下方二維碼告訴我,我會進一步完善這個系列的文章!

相關文章
相關標籤/搜索