SpringBoot POST請求接收多個參數(shù)值為null問題
問題描述
SpringBoot接口使用Post請求接收前端的JSON數(shù)據(jù)寫了多個參數(shù)
無論怎么寫獲取到的數(shù)據(jù)都是null
$.ajax({ url: "login4", param: JSON.stringify({ "name": "name", "age": 10 }), type: "post", dataType: "json", success: function (data) { }, error: function (data) { } });
@PostMapping("login4") public void login4(String name, Integer age){ System.out.println("login3"); System.out.println(name + " -- " + age); }
原因分析
POST請求接收JSON數(shù)據(jù)時使用簡單類型(Integer、String)等不能自動填充數(shù)據(jù)
必須要封裝成實體類或者使用Map接收
而且使用Map接收時還要注明泛型
解決方案
類似于以下這種方式
封裝一個實體類(實體類的屬性名要與前端請求參數(shù)對應)或使用Map<String,Object>
前面加上RequestBody注解就能獲取到了
@RequestMapping("/saveGrAuditLog") public void auditUploads(@RequestBody AuditRequestEntity auditRequestEntity, HttpServletRequest request){ WriteLogParam writeLogParam = new WriteLogParam(); writeLogParam.setNote(auditRequestEntity.getNote()); writeLogParam.setOpterationType(auditRequestEntity.getOpterationType()); writeLogParam.setOptName(auditRequestEntity.getOptName()); writeLogParam.setResourceId(auditRequestEntity.getResourceId()); writeLogParam.setResourceName(auditRequestEntity.getResourceName()); log.info("******params >> "+ JSONUtil.toJsonStr(writeLogParam)); AuditLogRequestTwo.addAuditNew(request,auditRequestEntity.getParams(),auditRequestEntity.getOptUrl(),auditRequestEntity.getResult(),writeLogParam); }
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringMVC Json自定義序列化和反序列化的操作方法
這篇文章主要介紹了SpringMVC Json自定義序列化和反序列化的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01SpringBoot實現(xiàn)單點登錄的實現(xiàn)詳解
在現(xiàn)代的Web應用程序中,單點登錄(Single?Sign-On)已經(jīng)變得越來越流行,在本文中,我們將使用Spring?Boot構建一個基本的單點登錄系統(tǒng),需要的可以參考一下2023-05-05Java實現(xiàn)統(tǒng)計在線人數(shù)功能的方法詳解
很多人在筆試或者面試中問到:現(xiàn)在要你實現(xiàn)一個統(tǒng)計在線人數(shù)的功能,你該怎么設計?不知道的朋友,這篇文章就來告訴你具體實現(xiàn)方法2022-08-08springboot+VUE前后端分離實現(xiàn)疫情防疫平臺JAVA
本文主要使用了Java、springmvc、VUE、node.js、mybatis、mysql、tomcat、jquery、layui、bootstarp、JavaScript、html、css、jsp、log4j等一些常見的基本技術,實現(xiàn)一個疫情防疫小平臺2021-08-08SpringBoot多數(shù)據(jù)源解決方案:dynamic-datasource-spring-boot-starter
本文主要介紹了SpringBoot多數(shù)據(jù)源解決方案,使用dynamic-datasource-spring-boot-starter實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2025-03-03java8 filter方法、Predicate接口的使用方式
這篇文章主要介紹了java8 filter方法、Predicate接口的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07