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)文章希望大家以后多多支持腳本之家!
- Java中的HttpServletRequestWrapper用法解析
- Java中的HttpServletRequest接口詳細解讀
- Java獲取HttpServletRequest的三種方法詳解
- Java service層獲取HttpServletRequest工具類的方法
- java通過HttpServletRequest獲取post請求中的body內(nèi)容的方法
- java HttpServletRequest和HttpServletResponse詳解
- java接口返回參數(shù)按照請求參數(shù)進行排序方式
- Java Spring Controller 獲取請求參數(shù)的幾種方法詳解
相關(guān)文章
Java動態(tài)追蹤技術(shù)探究之從JSP到Arthas
這篇文章主要介紹了Java動態(tài)追蹤技術(shù)探究之從JSP到Arthas,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,,需要的朋友可以參考下2019-06-06
Spring Bean創(chuàng)建和循環(huán)依賴
這篇文章主要介紹了Spring Bean創(chuàng)建和循環(huán)依賴,講述了Spring容器中?Bean?的創(chuàng)建過程已經(jīng)主要的方法,另外也著重分析了循環(huán)依賴的問題,需要的小伙伴可以參考一下2022-05-05
Spring中@Service注解的作用與@Controller和@RestController之間區(qū)別
這篇文章主要介紹了Spring中@Service注解的作用與@Controller和@RestController之間的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習吧2023-03-03
Java中使用正則表達式獲取網(wǎng)頁中所有圖片的路徑
這篇文章主要介紹了Java中使用正則表達式獲取網(wǎng)頁中所有圖片的路徑,本文直接給出實例代碼,需要的朋友可以參考下2015-06-06

