色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

SpringBoot 請求參數忽略大小寫的實例

瀏覽:3日期:2023-03-27 14:35:48

我就廢話不多說了,大家還是直接看代碼吧~

import java.io.IOException;import java.util.Collections;import java.util.Enumeration;import java.util.Map; import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import javax.servlet.http.HttpServletResponse; import org.springframework.core.annotation.Order;import org.springframework.util.LinkedCaseInsensitiveMap;import org.springframework.web.filter.OncePerRequestFilter; @Order(1)//重點@WebFilter(filterName = 'caseInsensitiveFilter', urlPatterns = '/*')public class CaseInsensitiveRequestParameterNameFilter extends OncePerRequestFilter { public CaseInsensitiveRequestParameterNameFilter() {System.out.println('CaseInsensitiveRequestParameterNameFilter.CaseInsensitiveRequestParameterNameFilter()');} @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { filterChain.doFilter(new CaseInsensitiveParameterNameHttpServletRequest(request), response); } public static class CaseInsensitiveParameterNameHttpServletRequest extends HttpServletRequestWrapper { private final LinkedCaseInsensitiveMap<String[]> map = new LinkedCaseInsensitiveMap<>(); public CaseInsensitiveParameterNameHttpServletRequest(HttpServletRequest request) { super(request); map.putAll(request.getParameterMap()); } @Override public String getParameter(String name) { String[] array = this.map.get(name); if (array != null && array.length > 0) return array[0]; return null; } @Override public Map<String, String[]> getParameterMap() { return Collections.unmodifiableMap(this.map); } @Override public Enumeration<String> getParameterNames() { return Collections.enumeration(this.map.keySet()); } @Override public String[] getParameterValues(String name) { return this.map.get(name); } } }

并在啟動類上加入@ServletComponentScan注解

補充:springboot 接受大寫參數時,接收值為空的解決

入參:

{ 'title':'文章標題1', 'content':'文章內容22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222', 'DOI':'123', 'PMID':'1234', 'email':'[email protected]'}

springboot 接到的DOI和PMID 為null,頭字母改為小寫后正常。

原因及解決

是spring 使用@requestbody 接收時遵循駝峰命名規則,如果希望接收非駝峰的參數可以在對映的屬性上添加注解

@JsonProperty(value = 'DOI')private String DOI;

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Spring
相關文章:
主站蜘蛛池模板: 欧美一级三级在线观看 | 欧美最爽乱淫视频播放黑人 | 最新69成人精品毛片 | 国产精自产拍久久久久久 | 亚洲国产成人超福利久久精品 | 日本成人在线免费 | 欧美成人免费一区在线播放 | 日韩一级片在线播放 | 欧美日韩视频一区三区二区 | 欧美国产成人在线 | 亚洲成人黄色在线 | 国产一区二区三区视频在线观看 | vvvv99日韩精品亚洲 | 欧美精品人爱a欧美精品 | 日韩一区二区视频在线观看 | 日本天堂免费 | 日韩欧美一区二区久久 | 亚洲区精品久久一区二区三区 | 高清日本在线成人免费视频 | 久久国产精品高清一区二区三区 | 亚洲欧美精品 | 99久久精品免费看国产免费 | 美女张开大腿让男人捅 | 国产精品久久久久久久hd | 国产欧美一区二区三区精品 | 久久精品观看 | 一级做a爰全过程免费视频毛片 | 久久亚洲人成国产精品 | 91免费永久国产在线观看 | 国产黄三级三·级三级 | 国产精品久久久久影视不卡 | a一级网站 | 国产图片亚洲精品一区 | 黄色三区| 亚洲夜色| 狠狠色丁香久久综合网 | 国产真实乱子伦精品 | 欧美另类videosbestsex久久 | 亚洲人成一区二区三区 | 综合自拍亚洲综合图区美腿丝袜 | 九一精品国产 |