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

基于controller使用map接收參數(shù)的注意事項(xiàng)

 更新時(shí)間:2021年10月28日 17:05:54   作者:qq_16992475  
這篇文章主要介紹了基于controller使用map接收參數(shù)的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

controller使用map接收參數(shù)注意事項(xiàng)

關(guān)于前端使用map去接收參數(shù)的問(wèn)題

@PostMapping("test01")
@ResponseBody                        // 如果這里不加@RequestBody,那么springmvc默認(rèn)創(chuàng)建的是BindAwareModelMap
public Object test01( Map dataMap) { // 對(duì)象,并且都參數(shù)都不會(huì)封裝進(jìn)去
    System.out.println(dataMap);
    dataMap = null;
    return new BindingAwareModelMap(); // 如果返回BindingAwareModelMap對(duì)象,就會(huì)拋出異常
}

正確封裝姿勢(shì)1

@Controller
@RequestMapping("map")
public class MapController {
    @PostMapping("test01")
    @ResponseBody                                    // 如果加了@RequestBody,那么創(chuàng)建的是LinkedHashMap
    public Object test01(@RequestBody Map dataMap) { // 并且參數(shù)都封裝了進(jìn)去(url路徑參數(shù)和json參數(shù)都會(huì)封裝進(jìn)去)
        System.out.println(dataMap);
        dataMap.put("msg", "ojbk");
        return dataMap;
    }
}

結(jié)論:如果使用map接收前端參數(shù),那么一定要加@Requestbody才行

#mybatis使用map封裝參數(shù),
@Select("select * from t_product where pid = #{pid} or pname = #{pname}")
List<Product> getByMap(Map map);    
#mybatisplus中有寫好的方法
List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);

正確封裝姿勢(shì)2

@Data
public class Page {
    private Map dataMap = new HashMap(); // 這里可以不用初始化,加了@RequestBody,默認(rèn)創(chuàng)建LinkdedHashMap
}
@Controller
@RequestMapping("map")
public class MapController {
    @PostMapping("test01")
    @ResponseBody
    public Object test01(@RequestBody Page page) { // 一定要加@RequestBody,否則封裝不進(jìn)去
        return page;
    }
}

前端需要使用json傳參格式:

{
    "dataMap":{
        "name":"zzhua"
    }
}

controller使用map接收參數(shù)并用POSTman測(cè)試

controller層

@PostMapping("/xksq/getGjclByCondition")
public ResultInfo getGjclByCondition(@RequestBody Map<String,Object> params,HttpServletRequest request){
    Map<String,Object> map = new HashMap<>();
    try {
        Integer iPageIndex = (Integer) params.get("iPageIndex");
        Integer iPageSize = (Integer) params.get("iPageSize");
        PageHelper.startPage(iPageIndex!=null?iPageIndex:1,iPageSize!=null?iPageSize:10);
        String username = JwtUtil.getUsername(request.getHeader("token"));
        Rfgcgl user = rfgcglMapper.selectOne(new QueryWrapper<Rfgcgl>().eq("YHMC", username));
        if(null==user){
            return ResultInfo.fail(903,"用戶不存在");
        }
        params.put("qynbbh",user.getQyNbBh());
        List<Map<String, Object>> gjclByCondition = clxxQysqMapper.getGjclByCondition(params);
        PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(gjclByCondition);
        map.put("total",pageInfo.getTotal());
        map.put("datas",pageInfo);
        return ResultInfo.ok(map);
    }catch (Exception e){
        e.printStackTrace();
        return ResultInfo.fail(901, "列表?xiàng)l件查詢失敗");
    }
}

使用postman測(cè)試

controller使用map接收參數(shù)時(shí)必須使用 @RequestBody接收參數(shù),否則后臺(tái)會(huì)出現(xiàn)接收不到的情況

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

相關(guān)文章

  • SpringBoot集成Kafka的步驟

    SpringBoot集成Kafka的步驟

    這篇文章主要介紹了SpringBoot集成Kafka的步驟,幫助大家更好的理解和使用SpringBoot,感興趣的朋友可以了解下
    2021-01-01
  • Springboot集成阿里云OSS上傳文件系統(tǒng)教程

    Springboot集成阿里云OSS上傳文件系統(tǒng)教程

    這篇文章主要介紹了Springboot集成阿里云OSS上傳文件系統(tǒng)教程,通過(guò)詳細(xì)的圖文展示,代碼步驟的展示和文件配置信息,希望對(duì)你有所幫助
    2021-06-06
  • Spring+MyBatis實(shí)現(xiàn)數(shù)據(jù)讀寫分離的實(shí)例代碼

    Spring+MyBatis實(shí)現(xiàn)數(shù)據(jù)讀寫分離的實(shí)例代碼

    本篇文章主要介紹了Spring+MyBatis實(shí)現(xiàn)數(shù)據(jù)讀寫分離的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 詳解Java面向?qū)ο缶幊讨鄳B(tài)

    詳解Java面向?qū)ο缶幊讨鄳B(tài)

    這篇文章主要為大家介紹了Java面向?qū)ο缶幊讨鄳B(tài),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • SpringBoot中ApplicationEvent和ApplicationListener用法小結(jié)

    SpringBoot中ApplicationEvent和ApplicationListener用法小結(jié)

    這篇文章介紹SpringBoot中ApplicationEvent用法,注意ApplicationEvent和MQ隊(duì)列雖然實(shí)現(xiàn)的功能相似,但是MQ還是有其不可替代性的,最本質(zhì)的區(qū)別就是MQ可以用于不同系統(tǒng)之間的消息發(fā)布,而SpringEvent這種模式只能在一個(gè)系統(tǒng)中,需要的朋友可以參考下
    2023-03-03
  • idea項(xiàng)目文件夾橫向顯示,縱向顯示的解決方法

    idea項(xiàng)目文件夾橫向顯示,縱向顯示的解決方法

    這篇文章主要介紹了idea項(xiàng)目文件夾橫向顯示,縱向顯示的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • mybatis 連接mysql數(shù)據(jù)庫(kù) tinyint 為boolean類型詳解

    mybatis 連接mysql數(shù)據(jù)庫(kù) tinyint 為boolean類型詳解

    這篇文章主要介紹了mybatis 連接mysql數(shù)據(jù)庫(kù) tinyint 為boolean類型詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Spring Boot獲取微信用戶信息的超簡(jiǎn)單方法

    Spring Boot獲取微信用戶信息的超簡(jiǎn)單方法

    這篇文章主要給大家介紹了關(guān)于Spring Boot獲取微信用戶信息的超簡(jiǎn)單方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • mybatis的好幫手之MybatisCodeHelperPro詳解

    mybatis的好幫手之MybatisCodeHelperPro詳解

    這篇文章主要介紹了mybatis的好幫手之MybatisCodeHelperPro詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • HttpClient實(shí)現(xiàn)遠(yuǎn)程調(diào)用

    HttpClient實(shí)現(xiàn)遠(yuǎn)程調(diào)用

    這篇文章主要為大家詳細(xì)介紹了HttpClient實(shí)現(xiàn)遠(yuǎn)程調(diào)用的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評(píng)論

仁怀市| 呈贡县| 铜川市| 广灵县| 平潭县| 宿州市| 永泰县| 承德市| 无极县| 房产| 汝城县| 福贡县| 五指山市| 南宫市| 大城县| 西丰县| 三明市| 巴马| 怀柔区| 宜兴市| 黔南| 峨眉山市| 志丹县| 岗巴县| 阿瓦提县| 新竹县| 松滋市| 金寨县| 吴旗县| 桐庐县| 师宗县| 依安县| 丰城市| 贵定县| 繁峙县| 永城市| 米林县| 关岭| 闸北区| 平谷区| 平遥县|