亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于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中有寫(xiě)好的方法
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)文章

  • Java獲取用戶訪問(wèn)IP及地理位置的方法詳解

    Java獲取用戶訪問(wèn)IP及地理位置的方法詳解

    這篇文章主要介紹了Java獲取用戶訪問(wèn)IP及地理位置的方法,結(jié)合實(shí)例形式詳細(xì)分析了Java基于百度地圖開(kāi)放平臺(tái)獲取用戶訪問(wèn)IP及地理位置相關(guān)操作技巧,需要的朋友可以參考下
    2020-04-04
  • Springboot配置圖片虛擬映射示例代碼

    Springboot配置圖片虛擬映射示例代碼

    這篇文章主要給大家介紹了關(guān)于Springboot配置圖片虛擬映射的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用springboot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-11-11
  • SpringBoot靜態(tài)資源映射規(guī)則淺析

    SpringBoot靜態(tài)資源映射規(guī)則淺析

    這篇文章主要介紹了SpringBoot靜態(tài)資源映射規(guī)則,今天在玩SpringBoot的demo的時(shí)候,放了張圖片在resources目錄下,啟動(dòng)區(qū)訪問(wèn)的時(shí)候,突然好奇是識(shí)別哪些文件夾來(lái)展示靜態(tài)資源的, 為什么有時(shí)候放的文件夾不能顯示,有的卻可以
    2023-02-02
  • Spring Junit單元測(cè)試加載配置文件失敗問(wèn)題

    Spring Junit單元測(cè)試加載配置文件失敗問(wèn)題

    這篇文章主要介紹了Spring Junit加載配置文件失敗問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • IDEA新建的Moudle失效顯示為灰色的完美解決方案

    IDEA新建的Moudle失效顯示為灰色的完美解決方案

    這篇文章主要介紹了IDEA新建的Moudle失效顯示為灰色,本文通過(guò)圖文并茂的形式給大家分享完美解決方案,需要的朋友可以參考下
    2023-09-09
  • javaNIO中關(guān)于ByteBuffer的用法

    javaNIO中關(guān)于ByteBuffer的用法

    這篇文章主要介紹了javaNIO中關(guān)于ByteBuffer的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • SpringBoot3集成ElasticSearch的方法詳解

    SpringBoot3集成ElasticSearch的方法詳解

    Elasticsearch是一個(gè)分布式、RESTful風(fēng)格的搜索和數(shù)據(jù)分析引擎,適用于各種數(shù)據(jù)類(lèi)型,數(shù)字、文本、地理位置、結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù),本文給大家詳解介紹了SpringBoot3集成ElasticSearch的方法,需要的朋友可以參考下
    2023-08-08
  • java使用監(jiān)聽(tīng)器實(shí)現(xiàn)一個(gè)統(tǒng)計(jì)網(wǎng)站在線人數(shù)的示例

    java使用監(jiān)聽(tīng)器實(shí)現(xiàn)一個(gè)統(tǒng)計(jì)網(wǎng)站在線人數(shù)的示例

    本文主要介紹了java使用監(jiān)聽(tīng)器實(shí)現(xiàn)一個(gè)統(tǒng)計(jì)網(wǎng)站在線人數(shù)的示例,具有一定的參考價(jià)值,有需要的朋友可以了解一下。
    2016-10-10
  • 通過(guò)一個(gè)命令輕松切換Java的版本

    通過(guò)一個(gè)命令輕松切換Java的版本

    這篇文章主要給大家介紹了如何通過(guò)一個(gè)命令輕松實(shí)現(xiàn)切換Java的版本,通過(guò)本文介紹的方法,大家就可以將jdk版本之間輕松切換,需要的朋友可以參考學(xué)習(xí),下面跟著小編一起來(lái)看看吧。
    2017-05-05
  • java  多線程的三種構(gòu)建方法

    java 多線程的三種構(gòu)建方法

    這篇文章主要介紹了java 多線程的三種構(gòu)建方法的相關(guān)資料,這里提供三種實(shí)現(xiàn)方法,希望大家能夠掌握,很重要的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2017-09-09

最新評(píng)論