欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot Controller接收參數(shù)的幾種常用方式

 更新時間:2023年07月19日 09:03:07   作者:猴猴小扣  
這篇文章主要介紹了SpringBoot Controller接收參數(shù)的幾種常用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringBoot Controller接收參數(shù)的常用方式

在Controller中加入@RestController,效果等于@Controller + @ResponseBody。

1 請求路徑參數(shù)

直接把表單里面的參數(shù)寫進 Controller 相應方法的形參中去,這個獲取參數(shù)的方法適合get提交,而不適合post提交。

@PathVariable獲取(這個當然不分get和post了,是url提取嘛)

    @RequestMapping("/userInfo/{id}")
    public String userInfo(@PathVariable String id) {
        System.out.println(id);
        return id;
    }

http://localhost:8080/userInfo/142857

@RequestParam獲取查詢參數(shù),如url?id=1428571

  • 當請求參數(shù)名與方法形參變量名相同時,可不加@RequestParam注解
  • @RequestParam注解的required屬性默認為true,若參數(shù)不是必須傳遞需改為false
    @RequestMapping("/userInfo")
    public String userInfo(@RequestParam(name = "id") String id) {
        System.out.println(id);
        return id;
    }

http://localhost:8080/userInfo?id=12345671

2 實體參數(shù)

通過建立一個bean來獲取參數(shù):

package com.example.helloworld.model;
public class User {
    private String id;
    private String name;
    private Notebook notebook;
    User(String id, String name) {
        this.id  = id;
        this.name = name;
        this.notebook = new Notebook();
    }
    public String getName() {
        return name;
    }
}
@RequestMapping("/userInfo")
    public String userInfo(User user) {
        System.out.println(user.getName());
        return user.getName();
    }

http://localhost:8080/problemBook?id=142857&time=2022-01-01 00:00:00

3 日期參數(shù)

http://localhost:8080/problemBook?id=142857&time=2022-01-01 00:00:00

@RequestMapping("/problemBook")
    public String problemBook(String id, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime time) {
        System.out.println(id);
        System.out.println(time);
        return "OK";
    }

但“yyyy-MM-dd”就識別有問題……

4 Json Body參數(shù)

通常用于Post請求。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-UC3GsHzo-1685868352014)(【SpringBoot】SpringBoot-Controller接收參數(shù)的常用方式/image-20230604162017983.png)]

使用RequestBody注解。

@PostMapping("/finishProblem")
    public String finishProblem(@RequestBody User user) {
        System.out.println(user.getName());
        return "OK";
    }

也可以使用一個map接收:

    @PostMapping("/finishProblem")
    public String finishProblem(@RequestBody Map<String, String> params) {
        System.out.println(params.get("uid"));
        System.out.println(params.get("problemId"));
        return "OK";
    }

5 返回結果

@ResponseBody用于Controller類或者方法上,將方法返回值直接響應,若返回值類型是實體對象或者集合,將轉為json格式相應。

為了有統(tǒng)一的返回方式,定義統(tǒng)一響應結果Result。

package com.example.helloworld.controller;
/**
 * code response狀態(tài)碼
 * obj 返回給前端的數(shù)據(jù)
 * message 附加信息,說明具體情況
 */
public class Result {
    public int code;
    public String message;
    public Object data;
    public Result(int code, String message, Object data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }
    public static Result success(Object data) {
        return new Result(200, "success", data);
    }
    public static Result success() {
        return new Result(200, "success", null);
    }
    public static Result error(String message) {
        return new Result(404, message, null);
    }
}

總結

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

相關文章

  • socket編程時的發(fā)送與接收數(shù)據(jù)時的問題解析

    socket編程時的發(fā)送與接收數(shù)據(jù)時的問題解析

    這篇文章主要為大家介紹了socket編程時的發(fā)送與接收數(shù)據(jù)時的問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Java中的static靜態(tài)變量、靜態(tài)方法超詳細講解

    Java中的static靜態(tài)變量、靜態(tài)方法超詳細講解

    Java中的static關鍵字用于表示靜態(tài)變量和靜態(tài)方法,靜態(tài)變量是類的成員變量,它們屬于類本身,而不是類的實例,這篇文章主要給大家介紹了關于Java中static靜態(tài)變量、靜態(tài)方法詳細講解的相關資料,需要的朋友可以參考下
    2024-06-06
  • SpringBoot啟動參數(shù)的實現(xiàn)

    SpringBoot啟動參數(shù)的實現(xiàn)

    SpringBoot通過jar文件方式啟動,配置可以通過啟動參數(shù)進行覆蓋,本文就來介紹一下SpringBoot啟動參數(shù)的實現(xiàn),感興趣的可以了解一下
    2025-01-01
  • Java常用的八種排序算法與代碼實現(xiàn)

    Java常用的八種排序算法與代碼實現(xiàn)

    這篇文章主要給給大家分享Java常用的八種排序算法與代碼實現(xiàn),下面文章將詳細介紹整個實現(xiàn)過程,感興趣的小伙伙伴可以跟著小編一起來學習,希望對你有所幫助
    2021-10-10
  • 基于StringBuilder類中的重要方法(介紹)

    基于StringBuilder類中的重要方法(介紹)

    下面小編就為大家?guī)硪黄赟tringBuilder類中的重要方法(介紹)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 淺析SpringBoot自動化配置原理實現(xiàn)

    淺析SpringBoot自動化配置原理實現(xiàn)

    這篇文章主要介紹了淺析SpringBoot自動化配置原理實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 使用JAVA實現(xiàn)http通信詳解

    使用JAVA實現(xiàn)http通信詳解

    本文給大家匯總介紹了幾種java實現(xiàn)http通訊的方法,非常的簡單實用,有需要的小伙伴可以參考下。
    2015-08-08
  • spring聲明式事務管理解析

    spring聲明式事務管理解析

    這篇文章主要為大家詳細介紹了spring聲明式事務管理,對spring事務管理進行深入了解,感興趣的小伙伴們可以參考一下
    2016-10-10
  • ActiveMQ基于zookeeper的主從(levelDB Master/Slave)搭建

    ActiveMQ基于zookeeper的主從(levelDB Master/Slave)搭建

    這篇文章主要介紹了ActiveMQ基于zookeeper的主從levelDB Master/Slave搭建,以及Spring-boot下的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • SpringBoot Mybatis動態(tài)數(shù)據(jù)源切換方案實現(xiàn)過程

    SpringBoot Mybatis動態(tài)數(shù)據(jù)源切換方案實現(xiàn)過程

    這篇文章主要介紹了SpringBoot+Mybatis實現(xiàn)動態(tài)數(shù)據(jù)源切換方案過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04

最新評論