最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項目中rest接口定義與參數(shù)傳遞和接收方式

 更新時間:2026年04月02日 09:04:44   作者:撞撞~  
本文介紹了使用RestClient測試接口的兩種方式:form-data和content-type,form-data適用于所有請求方式,但URL長度有限制,content-type只適用于POST/DELETE/PUT請求,處理application/json格式參數(shù),對于參數(shù)較多的情況,建議使用JavaBean接收

建議使用rest Client測試接口

方式一:form-data形式

參數(shù)以key-value形式傳遞,參數(shù)和值會直接拼接到請求url后邊顯示存在(POST http://localhost:8080/users/insert?id=5&userName=劉明);

適用于所有請求方式;

后臺接收參數(shù)時使用注解@RequestParam

POST

提交資源時一般post請求方式,當(dāng)然所有的增刪改也可已使用post請求

使用@RequestParam(value = “key”) 綁定請求參數(shù)到方法入?yún)r,參數(shù)名可以不與前臺key一致

@RestController
@RequestMapping("/users")
public class UsersController {
    @PostMapping("/insert")
    public RestResult insertUserInfo(@RequestParam("userId") int id, String userName, String passWord, int age,String sex, String phone) {...}
}

請求參數(shù)可以這樣顯示接收,也可以從 request 中獲取

insertUserInfo(HttpServletRequest request) {
        String userId = request.getParameter("userId");
        String phone = request.getParameter("phone");
		...
}

如果請求參數(shù)為定義的對象屬性時,可以直接使用對象接收參數(shù)

public class User {
    private int id;
    private String userName;
    private String passWord;
    private int age;
    private String sex;
    private String phone;
}
@PostMapping("/insert")
    public RestResult insertUserInfo(User user) {...}

DELETE

刪除資源

使用@PathVariable 獲取url路徑中的參數(shù)

@DeleteMapping("/delete/{id}")
public RestResult deleteUser(@PathVariable("id") int userId) {...}

PUT

更新資源

@PutMapping("/update/{id}")
public RestResult updateUser(@PathVariable int id, String phone) {...}

GET

獲取資源

@GetMapping("/query/{id}")
    public RestResult queryUser(@PathVariable int id) {...}

方式二、content-type形式

因為GET請求頭中無content-type字段,所以此種方式只適用于POST/DELETE/PUT請求,用來處理:applicatin/json格式的參數(shù)

參數(shù)以json形式傳遞,后臺獲取參數(shù)時使用注解@RequestBody

@PostMapping("/insert")
    public RestResult insertUserInfo(@RequestBody User user) {...}

我們也可以使用@JsonProperty 注解來綁定Json中的key和Bean實體的屬性

這時候,前臺在傳遞參數(shù)時,可以使用與屬性名一致,也可以與注解中的value一致

但是這里得注意:這里返回給前臺的json對象中的key將會是直接中的值

public class User {
    private Integer id;
    @JsonProperty("name")
    private String userName;
    @JsonProperty("pass")
    private String passWord;
    private Integer age;
    private String sex;
    private String phone;
}

總結(jié)

很明顯,方式一在傳遞參數(shù)時,如果傳入的參數(shù)太長時,或許會超過某些瀏覽器與服務(wù)器對URL的長度限制,會導(dǎo)致請求失敗,因此在實際應(yīng)用中,對于GET請求我們一般使用form表單形式傳遞參數(shù),POST/DELETE/PUT請求我們考慮使用方式二;

對于請求參數(shù)過多的,我們可以使用Java Bean來接收參數(shù)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot redis使用lettuce配置多數(shù)據(jù)源的實現(xiàn)

    springboot redis使用lettuce配置多數(shù)據(jù)源的實現(xiàn)

    這篇文章主要介紹了springboot redis使用lettuce配置多數(shù)據(jù)源的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Spring boot route Controller接收參數(shù)常用方法解析

    Spring boot route Controller接收參數(shù)常用方法解析

    這篇文章主要介紹了Spring boot route Controller接收參數(shù)常用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Java多線程Runable售票系統(tǒng)實現(xiàn)過程解析

    Java多線程Runable售票系統(tǒng)實現(xiàn)過程解析

    這篇文章主要介紹了Java多線程Runable售票系統(tǒng)實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Java實現(xiàn)微信網(wǎng)頁授權(quán)的示例代碼

    Java實現(xiàn)微信網(wǎng)頁授權(quán)的示例代碼

    這篇文章主要介紹了Java實現(xiàn)微信網(wǎng)頁授權(quán)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Spring集成MongoDB的兩種方法實例

    Spring集成MongoDB的兩種方法實例

    最近使用到了Spring框架,考慮到數(shù)據(jù)的格式并非有固定的字段格式,因此考慮到使用MongoDB非關(guān)系型數(shù)據(jù)庫存儲數(shù)據(jù),所以這篇文章主要給大家介紹了Spring集成MongoDB的兩種方法,需要的朋友可以參考下
    2021-09-09
  • Java中unsafe操作實例總結(jié)

    Java中unsafe操作實例總結(jié)

    本篇文章給大家分享了關(guān)于Java中unsafe操作的相關(guān)知識點以及相關(guān)的實例代碼,有需要的朋友可以學(xué)習(xí)參考下。
    2018-03-03
  • 使用?mybatis?自定義日期類型轉(zhuǎn)換器的示例代碼

    使用?mybatis?自定義日期類型轉(zhuǎn)換器的示例代碼

    這篇文章主要介紹了使用?mybatis?自定義日期類型轉(zhuǎn)換器的示例代碼,這里使用mybatis中的typeHandlers?實現(xiàn)的,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 編程語言榜單Java與Python并列第二!Julia下滑

    編程語言榜單Java與Python并列第二!Julia下滑

    日新月異的技術(shù)圈,隨著云、大數(shù)據(jù)、人工智能等主流技術(shù)的廣泛應(yīng)用,作為開發(fā)利器的編程語言的最新發(fā)展趨勢也在無形中發(fā)生了變化,本文主要介紹了java、Python、Julia等語言在Resmonk榜單的排名
    2021-08-08
  • Spring MVC溫故而知新系列教程之從零開始

    Spring MVC溫故而知新系列教程之從零開始

    Spring MVC 框架在 Java 的 Web 項目中應(yīng)該是無人不知的吧,你不會搭建一個 Spring 框架?作為身為一個剛剛學(xué)習(xí)Java的我都會,如果你不會的話,那可真令人憂傷。下面這篇文章主要給大家介紹了關(guān)于Spring MVC從零開始的相關(guān)資料,需要的朋友可以參考下
    2018-05-05
  • 一文梳理Java超大型文件讀取的18種方法和性能

    一文梳理Java超大型文件讀取的18種方法和性能

    這篇文章主要為大家詳細(xì)介紹了Java中超大型文件讀取的18種方法和性能對比,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02

最新評論

门源| 赣榆县| 海阳市| 抚松县| 高碑店市| 武平县| 金沙县| 合江县| 油尖旺区| 麦盖提县| 固阳县| 宣恩县| 铜梁县| 和田县| 新和县| 宁夏| 公安县| 茂名市| 文昌市| 安塞县| 吉隆县| 定日县| 卢氏县| 如东县| 黄平县| 清远市| 镇平县| 靖边县| 定日县| 湘乡市| 靖宇县| 清新县| 赤壁市| 海城市| 洱源县| 天镇县| 遵义市| 卫辉市| 茌平县| 乌兰县| 垦利县|