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

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

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

建議使用rest Client測(cè)試接口

方式一:form-data形式

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

適用于所有請(qǐng)求方式;

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

POST

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

使用@RequestParam(value = “key”) 綁定請(qǐng)求參數(shù)到方法入?yún)r(shí),參數(shù)名可以不與前臺(tái)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) {...}
}

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

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

如果請(qǐng)求參數(shù)為定義的對(duì)象屬性時(shí),可以直接使用對(duì)象接收參數(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形式

因?yàn)镚ET請(qǐng)求頭中無content-type字段,所以此種方式只適用于POST/DELETE/PUT請(qǐng)求,用來處理:applicatin/json格式的參數(shù)

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

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

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

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

但是這里得注意:這里返回給前臺(tái)的json對(duì)象中的key將會(huì)是直接中的值

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Spring集成MongoDB的兩種方法實(shí)例

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

望谟县| 榆社县| 韶关市| 夏津县| 临颍县| 无为县| 静海县| 成都市| 陇南市| 宜州市| 鄂伦春自治旗| 固始县| 平罗县| 依安县| 峨眉山市| 邳州市| 太湖县| 隆德县| 蓝田县| 乌审旗| 凤城市| 正镶白旗| 金溪县| 阜城县| 新平| 鄄城县| 扎鲁特旗| 黑山县| 通海县| 彭州市| 朔州市| 岚皋县| 荆门市| 略阳县| 浏阳市| 梅河口市| 抚远县| 神木县| 宁海县| 绵阳市| 乌什县|