av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:4日期: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':'121607691@qq.com'}

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

原因及解決

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

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

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

標簽: Spring
相關文章:
主站蜘蛛池模板: 久久aⅴ乱码一区二区三区 91综合网 | 波多野结衣亚洲 | 精品国产乱码久久久久久88av | 草久视频| 日韩av黄色| 国产精品久久久久久久7777 | 国产精品国产成人国产三级 | 亚洲国产精品网站 | 免费a网 | 视频在线亚洲 | 久久精品二区 | 日本不卡一区二区三区在线观看 | 色小姐综合网 | 免费能直接在线观看黄的视频 | 色香婷婷| 国产午夜视频 | 天天干在线播放 | 久久www免费人成看片高清 | 亚洲福利一区 | 九九视频在线观看 | 午夜a v电影| 久久久久久久久国产精品 | 亚洲一区二区在线视频 | 在线亚洲免费视频 | 午夜资源| 在线观看黄色大片 | 亚洲精品一区二区网址 | 欧美视频在线看 | 亚洲有码转帖 | 精品久久久久久久久久久久久久 | 91av免费版 | 欧美日韩在线成人 | 91视频免费在观看 | 免费国产视频在线观看 | 精品网| 一区二区成人 | 中国91av | 中文字幕免费在线 | 亚洲成a人片 | 亚洲精品一区二区三区蜜桃久 | 久久久精品一区 |