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

SpringBoot在Controller層接收參數(shù)的n種姿勢(shì)(超詳細(xì))

 更新時(shí)間:2023年01月15日 09:03:28   作者:是阿俏同學(xué)吖  
這篇文章主要介紹了SpringBoot在Controller層接收參數(shù)的常用方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

在工作中,比如要實(shí)現(xiàn)一個(gè)功能,前端傳什么參數(shù),后端的controller層中怎么接收參數(shù) ,封裝成了什么實(shí)體對(duì)象,有些參數(shù)是在URL上使用,有些參數(shù)是在body上使用,service層中做了什么邏輯,調(diào)用dao層的sql怎么寫的,前端傳的參數(shù),后端用controller中的一個(gè)方法來(lái)接收請(qǐng)求這些都是我們需要思考的邏輯!

下面重點(diǎn)講下SpringBoot接收請(qǐng)求的n種姿勢(shì),建議收藏哦~

接收get請(qǐng)求

(1)get請(qǐng)求無(wú)參數(shù)

@RestController
@RequestMapping("book")
public class BookController {

    @Resource
    private BookService bookService;
    /**
     * 按照條件獲取書(shū)籍信息
     * @param bookParams
     * @return
     */
    @GetMapping("/getBookLists")
    @ResponseBody
    public CommonResponse<List<Book>> getBookLists(BookParams bookParams) {
        // 按照查詢條件分頁(yè)查詢書(shū)籍
        List<Book> books = bookService.getBookList(bookParams);
        CommonResponse response = CommonResponse.successInstance(books);
        return response;
    }
}

獲取參數(shù)方式1:http://localhost:9527/book/getBookLists這種方式的請(qǐng)求,不帶參數(shù)

(2)get請(qǐng)求問(wèn)號(hào)拼的參數(shù)
使用@RequestParam來(lái)取問(wèn)號(hào)后面拼接的參數(shù),告訴springboot 這個(gè)user對(duì)應(yīng)的就是參數(shù)中的user

  @RequestMapping("/get")
    public void get (@RequestParam(name = "user") String user){
        System.out.println("接收到參數(shù):"+user);
        return "接收到參數(shù):"+user;
    }

獲取參數(shù)方式2:獲取http://localhost:9527?user=XXX問(wèn)號(hào)拼接的參數(shù)

(3)get請(qǐng)求路徑URL參數(shù)
@PathVariable是取url中的變量 ,會(huì)自動(dòng)進(jìn)行賦值。

@GetMapping("/path/{user}")
    public String path(@PathVariable(name = "user") String user){
        System.out.println("接收到參數(shù):"+user);
        return "接收到參數(shù):"+user;
    }

獲取參數(shù)方式3:獲取路徑參數(shù),RestFull風(fēng)格入?yún)?/p>

接收post請(qǐng)求

(1) 請(qǐng)求的參數(shù)是json格式 ,各參數(shù)名與實(shí)體類定義的字段一致
@RequestBody將參數(shù)映射為一個(gè)java對(duì)象

   @PostMapping("/post/same")
    public String same(@RequestBody Users users){
        System.out.println("JSON 接到的:"+users.toString());
        return "JSON 接到的:"+users.toString();
    }

獲取參數(shù)方式1:post請(qǐng)求JSON數(shù)據(jù)格式,各參數(shù)名與實(shí)體類定義的字段一樣

(2)請(qǐng)求JSON數(shù)據(jù)格式,各參數(shù)名與實(shí)體類定義的字段完全不一樣(需要引入fastJson依賴

<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.57</version>
		</dependency>
@PostMapping("/fastJson")
    public String fastJson(@RequestBody JSONObject param){
        System.out.println("JSON :"+param.toJSONString());
        return "JSON :"+param.toJSONString();
    }

獲取參數(shù)方式2:post請(qǐng)求JSON數(shù)據(jù)格式,各參數(shù)名與POJO定義的字段完全不一樣(需要引入fastJson依賴)

(3)post請(qǐng)求的參數(shù)名都對(duì)應(yīng)可以直接獲取

@RequestMapping("/sameParamName")
    public String sameParamName(String users , String id){
        System.out.println("users:"+users+"id: "+id);
        return "users:"+users+"id: "+id;
    }

到此這篇關(guān)于SpringBoot在Controller層接收參數(shù)的常用方法(超詳細(xì))的文章就介紹到這了,更多相關(guān)SpringBoot Controller 接收參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何在SpringBoot中添加攔截器忽略請(qǐng)求URL當(dāng)中的指定字符串

    如何在SpringBoot中添加攔截器忽略請(qǐng)求URL當(dāng)中的指定字符串

    這篇文章主要介紹了在SpringBoot中添加攔截器忽略請(qǐng)求URL當(dāng)中的指定字符串,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • mybatis參數(shù)String與Integer類型的判斷方式

    mybatis參數(shù)String與Integer類型的判斷方式

    這篇文章主要介紹了mybatis參數(shù)String與Integer類型的判斷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 詳解Java中字典樹(shù)(Trie樹(shù))的圖解與實(shí)現(xiàn)

    詳解Java中字典樹(shù)(Trie樹(shù))的圖解與實(shí)現(xiàn)

    Trie又稱為前綴樹(shù)或字典樹(shù),是一種有序樹(shù),它是一種專門用來(lái)處理串匹配的數(shù)據(jù)結(jié)構(gòu)。本文將利用圖解詳細(xì)講解Trie樹(shù)的實(shí)現(xiàn),需要的可以參考一下
    2022-05-05
  • MapStruct表達(dá)式應(yīng)用及避坑詳解

    MapStruct表達(dá)式應(yīng)用及避坑詳解

    一不小心踩了MapStruct表達(dá)式的坑,發(fā)現(xiàn)了一個(gè)在官方文檔上都找不到的功能,有必要記錄下。MapStruct是一個(gè)代碼生成器,它基于約定優(yōu)于配置的方法大大簡(jiǎn)化了Java?Bean類型之間的映射的實(shí)現(xiàn)
    2022-02-02
  • Springboot jdbctemplate整合實(shí)現(xiàn)步驟解析

    Springboot jdbctemplate整合實(shí)現(xiàn)步驟解析

    這篇文章主要介紹了Springboot jdbctemplate整合實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Maven發(fā)布封裝到中央倉(cāng)庫(kù)時(shí)候報(bào)錯(cuò):no default secret key

    Maven發(fā)布封裝到中央倉(cāng)庫(kù)時(shí)候報(bào)錯(cuò):no default secret key

    這篇文章主要介紹了Maven發(fā)布封裝到中央倉(cāng)庫(kù)時(shí)候報(bào)錯(cuò):no default secret key,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java協(xié)程編程之Loom

    Java協(xié)程編程之Loom

    這篇文章主要介紹了Java協(xié)程編程Loom的方法,需要的朋友請(qǐng)看下文
    2021-08-08
  • Java中的泛型詳細(xì)解析

    Java中的泛型詳細(xì)解析

    這篇文章主要介紹了Java中的泛型詳細(xì)解析,泛型又稱參數(shù)化類型,是JDK5.0出現(xiàn)的新特性,解決了數(shù)據(jù)類型的安全型問(wèn)題,Java泛型可以保證如果程序在編譯時(shí)沒(méi)用發(fā)出警告,運(yùn)行時(shí)就不會(huì)產(chǎn)生classCastException異常,需要的朋友可以參考下
    2024-01-01
  • java反射應(yīng)用詳細(xì)介紹

    java反射應(yīng)用詳細(xì)介紹

    本篇文章依舊采用小例子來(lái)說(shuō)明java反射應(yīng)用,因?yàn)槲沂冀K覺(jué)的,案例驅(qū)動(dòng)是最好的,需要的朋友可以參考下
    2012-11-11
  • Spring?Boot?集成PageHelper的使用方法

    Spring?Boot?集成PageHelper的使用方法

    這篇文章主要介紹了Spring?Boot?集成PageHelper的使用方法,文章內(nèi)容圍繞主題展開(kāi)詳細(xì)介紹,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-04-04

最新評(píng)論