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

SpringBoot通過@MatrixVariable進(jìn)行傳參詳解

 更新時(shí)間:2022年06月27日 09:56:36   作者:鳴鼓ming  
這篇文章主要介紹了SpringBoot使用@MatrixVariable傳參,文章圍繞@MatrixVariable展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

1.相關(guān)概念

語法: 請(qǐng)求路徑:/person/info;name=lisi;hobbies=basketball,football,tennis不同變量用分號(hào)相隔, 一個(gè)變量有多個(gè)值則使用逗號(hào)隔開

SpringBoot默認(rèn)是禁用了矩陣變量的功能

手動(dòng)開啟原理: 對(duì)于路徑的處理, UrlPathHelper的removeSemicolonContent設(shè)置為false,讓其支持矩陣變量的。

矩陣變量必須有url路徑變量才能被解析, 也就是/person/{path}里的path(這里我把它的值寫成info, 即/person/info)

2.開啟矩陣變量

第一種方法,實(shí)現(xiàn)接口WebMvcConfigurer,覆蓋方法configurePathMatch。

WebConfig

package com.limi.springboottest2.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.util.UrlPathHelper;
@Configuration
public class WebConfig implements WebMvcConfigurer {
    public void configurePathMatch(PathMatchConfigurer configurer) {
        UrlPathHelper urlPathHelper = new UrlPathHelper();
        // 設(shè)置不移除分號(hào) ;后面的內(nèi)容。矩陣變量功能就可以生效
        urlPathHelper.setRemoveSemicolonContent(false);
        configurer.setUrlPathHelper(urlPathHelper);
    }
}

第二種,自定義WebMvcConfigurer類型組件并添加到容器中。

WebConfig

package com.limi.springboottest2.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.util.UrlPathHelper;
@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Bean
    public WebMvcConfigurer webMvcConfigurer(){
        return new WebMvcConfigurer() {
            @Override
            public void configurePathMatch(PathMatchConfigurer configurer) {
                UrlPathHelper urlPathHelper = new UrlPathHelper();
                // 設(shè)置不移除分號(hào) ;后面的內(nèi)容。矩陣變量功能就可以生效
                urlPathHelper.setRemoveSemicolonContent(false);
                configurer.setUrlPathHelper(urlPathHelper);
            }
        };
    }
}

3.代碼測試

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>歡迎你好呀!</h1>
    <a href="/person/info;name=lsi;hobbies=basketball,football,tennis" rel="external nofollow" >1測試@MatrixVariable</a>
    <br>
    <a href="/person/1;age=50/2;age=30" rel="external nofollow" >2測試@MatrixVariable</a>
</body>
</html>

HelloController

package com.limi.springboottest2.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.MatrixVariable;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
public class HelloController {
    //    /person/info;name=lsi;hobbies=basketball,football,tennis
    @ResponseBody
    @GetMapping("/person/{path}")
    public Map<String,Object> get(@PathVariable("path") String path,
                                  @MatrixVariable("name") String name,
                                  @MatrixVariable("hobbies") List<String> hobbies){
        Map<String,Object> map = new HashMap<>();
        map.put("path",path);
        map.put("name",name);
        map.put("hobbies",hobbies);
        return map;
    }
    // 測試傳入兩組相同的類型的變量, 例如老板和員工的年齡
    // /person/1;age=50/2;age=30
    @ResponseBody
    @GetMapping("/person/{bossId}/{empId}")
    public Map boss(@MatrixVariable(value = "age",pathVar = "bossId") Integer bossAge,
                    @MatrixVariable(value = "age",pathVar = "empId") Integer empAge){
        Map<String,Object> map = new HashMap<>();
        map.put("bossAge",bossAge);
        map.put("empAge",empAge);
        return map;
    }
}

測試1

測試2

到此這篇關(guān)于SpringBoot通過@MatrixVariable進(jìn)行傳參詳解的文章就介紹到這了,更多相關(guān)SpringBoot @MatrixVariable內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot快速搭建實(shí)現(xiàn)三步驟解析

    SpringBoot快速搭建實(shí)現(xiàn)三步驟解析

    這篇文章主要介紹了SpringBoot快速搭建實(shí)現(xiàn)三步驟解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java多線程synchronized同步方法詳解

    Java多線程synchronized同步方法詳解

    這篇文章主要介紹了Java多線程synchronized同步方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Springboot讀取templates文件html代碼實(shí)例

    Springboot讀取templates文件html代碼實(shí)例

    這篇文章主要介紹了Springboot讀取templates文件html代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Springboot整合freemarker和相應(yīng)的語法詳解

    Springboot整合freemarker和相應(yīng)的語法詳解

    FreeMarker是一款Spring官方推薦使用的模板引擎。接下來通過本文給大家介紹Springboot整合freemarker和相應(yīng)的語法,感興趣的朋友一起看看吧
    2021-09-09
  • Java過濾器filter_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java過濾器filter_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java過濾器filter,通過過濾器,可以對(duì)來自客戶端的請(qǐng)求進(jìn)行攔截,進(jìn)行預(yù)處理或者對(duì)最終響應(yīng)給客戶端的數(shù)據(jù)進(jìn)行處理后再輸出
    2017-07-07
  • IntelliJ?IDEA教程之clean或者install?Maven項(xiàng)目的操作方法

    IntelliJ?IDEA教程之clean或者install?Maven項(xiàng)目的操作方法

    這篇文章主要介紹了IntelliJ?IDEA教程之clean或者install?Maven項(xiàng)目的操作方法,本文分步驟給大家介紹兩種方式講解如何調(diào)試出窗口,需要的朋友可以參考下
    2023-04-04
  • 淺談十個(gè)常見的Java異常出現(xiàn)原因

    淺談十個(gè)常見的Java異常出現(xiàn)原因

    這篇文章主要介紹了十個(gè)常見的Java異常出現(xiàn)原因,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • java實(shí)現(xiàn)Runnable接口適合資源的共享

    java實(shí)現(xiàn)Runnable接口適合資源的共享

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)Runnable接口適合資源的共享,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Java手機(jī)號(hào)碼工具類示例詳解(判斷運(yùn)營商、獲取歸屬地)

    Java手機(jī)號(hào)碼工具類示例詳解(判斷運(yùn)營商、獲取歸屬地)

    這篇文章主要介紹了Java手機(jī)號(hào)碼工具類示例詳解,通過手機(jī)號(hào)碼來判斷運(yùn)營商獲取歸屬地,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 淺談java String不可變的好處

    淺談java String不可變的好處

    這篇文章主要介紹了java String不可變的好處,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

肥城市| 江阴市| 铜陵市| 宝兴县| 中江县| 聂荣县| 泗水县| 巫山县| 定边县| 西宁市| 铅山县| 浙江省| 南皮县| 集贤县| 会理县| 满洲里市| 汽车| 赫章县| 黔江区| 新巴尔虎右旗| 贞丰县| 青阳县| 宜兰县| 元朗区| 什邡市| 仁怀市| 滕州市| 鄂温| 老河口市| 文登市| 桂平市| 灯塔市| 稻城县| 本溪| 柳河县| 滨海县| 咸丰县| 清水县| 银川市| 伊春市| 龙岩市|