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

Java如何獲取HttpServletRequest請求參數(shù)

 更新時間:2024年11月08日 10:05:41   作者:Monly21  
我們常需要接口接收第三方推送的數(shù)據(jù),由于第三方可能不具備開發(fā)能力,我們需要自行解析推送的數(shù)據(jù)格式,通過HttpServletRequest,我們可以解析字符串、JSON、XML以及文件等多種數(shù)據(jù)類型,本文介紹了如何在Java中使用HttpServletRequest獲取請求參數(shù),感興趣的朋友一起看看吧

一、概況

在實際的開發(fā)應(yīng)用當中,我們有時需要開放一個公共的接口讓第三方給我們推送數(shù)據(jù),但是很多第三方廠家買的是別人的軟件或者交接人員不是開發(fā)人員,沒有程序源碼,不知道推送的是什么格式的數(shù)據(jù)。
這就需要我們自己使用代碼解析出來,在這里可以借用HttpServletRequest來解析字符串、JSON、XML以及文件數(shù)據(jù)等。

二、程序源碼

@PostMapping("/push")
public AjaxResult push(HttpServletRequest request) {
    try {
        String contentType = request.getContentType();
        log.info(String.format("攝像頭報警請求參數(shù)類型:%s", contentType));
        if (contentType.contains("multipart/form-data;")) {
            readFile(request);
        } else {
            readParams(request);
        }
        return success();
    } catch (Exception e) {
        return success();
    }
}

讀取文件參數(shù)

public void readFile(HttpServletRequest request) {
    log.info(String.format("攝像頭報警請求參數(shù):%s", "文件"));
    // 由于HttpServletRequest不能直接取出文件數(shù)據(jù),所以將其強制轉(zhuǎn)換為MultipartHttpServletRequest
    MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
    Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
    log.info(String.format("攝像頭報警請求參數(shù):%s", String.valueOf(fileMap)));
    fileMap.forEach((key, value) -> {
        try {
            log.info(String.format("key:%s, value:%s", key, value.getName()));
            String filePath = RuoYiConfig.getUploadPath();  // 上傳文件路徑
            String fileName = FileUploadUtils.upload(filePath, value);
            log.info(String.format("文件已經(jīng)下載:%s", fileName));
        } catch (IOException e) {
            log.error(e.getMessage());
            throw new RuntimeException(e);
        }
    });
}

讀取非文件參數(shù)

public void readParams(HttpServletRequest request) {
     StringBuilder data = new StringBuilder();
     String line;
     BufferedReader reader;
     try {
         reader = request.getReader();
         while (null != (line = reader.readLine())) {
             data.append(line);
         }
     } catch (IOException e) {
         log.error(e.getMessage());
     }
     log.info(String.format("攝像頭報警請求參數(shù):%s", data));
 }

到此這篇關(guān)于Java如何獲取HttpServletRequest請求參數(shù)的文章就介紹到這了,更多相關(guān)Java HttpServletRequest請求參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合Servlet和Filter和Listener組件詳解

    SpringBoot整合Servlet和Filter和Listener組件詳解

    這篇文章主要介紹了SpringBoot整合Servlet和Filter和Listener組件詳解,在整合某報表插件時就需要使用Servlet,Spring Boot中對于整合這些基本的Web組件也提供了很好的支持,需要的朋友可以參考下
    2024-01-01
  • java使用Hashtable過濾數(shù)組中重復值的方法

    java使用Hashtable過濾數(shù)組中重復值的方法

    這篇文章主要介紹了java使用Hashtable過濾數(shù)組中重復值的方法,涉及java數(shù)組遍歷及過濾的相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • Java中ResponseBodyEmitter的實現(xiàn)

    Java中ResponseBodyEmitter的實現(xiàn)

    這篇文章主要介紹了Java中ResponseBodyEmitter的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • java數(shù)組復制的四種方法效率對比

    java數(shù)組復制的四種方法效率對比

    這篇文章主要介紹了java數(shù)組復制的四種方法效率對比,文中有簡單的代碼示例,以及效率的比較結(jié)果,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法

    Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法

    本篇文章主要介紹了Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • SpringBoot?Bean實例化流程解析

    SpringBoot?Bean實例化流程解析

    在SpringBoot啟動過程中會執(zhí)行refreshContext()方法,而在其執(zhí)行過程中,又會調(diào)用finishBeanFactoryInitialization()方法,該方法負責了Bean的實例化,那么本文將從源碼跟讀的角度來解析一下具體流程
    2023-08-08
  • Logback的使用及如何配置

    Logback的使用及如何配置

    這篇文章主要介紹了Logback的使用及如何配置,幫助大家更好的理解和學習使用Logback,感興趣的朋友可以了解下
    2021-03-03
  • Java連接MYSQL數(shù)據(jù)庫的詳細步驟

    Java連接MYSQL數(shù)據(jù)庫的詳細步驟

    這篇文章主要為大家介紹了Java連接MYSQL數(shù)據(jù)庫的詳細步驟,感興趣的小伙伴們可以參考一下
    2016-05-05
  • MyBatis執(zhí)行SQL查詢的完整流程

    MyBatis執(zhí)行SQL查詢的完整流程

    本文詳細介紹了MyBatis SQL執(zhí)行的完整過程,包括核心對象、代碼實現(xiàn)與執(zhí)行鏈路,通過編程式調(diào)用示例和流程圖,展示了從環(huán)境配置、SqlSession創(chuàng)建到結(jié)果獲取的全步驟,需要的朋友可以參考下
    2026-01-01
  • java實現(xiàn)停車場管理系統(tǒng)

    java實現(xiàn)停車場管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)停車場管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評論

陆川县| 宿迁市| 岫岩| 宣汉县| 西乡县| 扶风县| 威宁| 宕昌县| 新源县| 延寿县| 临桂县| 花莲市| 洛宁县| 昌邑市| 饶阳县| 盐池县| 罗源县| 桑植县| 麻城市| 页游| 惠水县| 洛南县| 家居| 邵阳县| 绵竹市| 个旧市| 万载县| 百色市| 将乐县| 漳浦县| 镇沅| 石阡县| 铜梁县| 微山县| 平度市| 乳源| 涞源县| 雅安市| 密山市| 兴文县| 青河县|