久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

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

瀏覽:10日期: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
相關文章:
主站蜘蛛池模板: 欧美一区二区黄色片 | 99国产精品久久久 | 中文字幕一级 | 久久久久久久香蕉 | 成人免费在线观看网址 | 亚洲高清免费视频 | 中文字幕欧美激情 | 国产精品久久久久久久午夜片 | 91精品国产综合久久久久久软件 | 一级毛片免费播放 | 精久久久 | 国产福利视频 | 日产久久 | 亚洲欧美激情精品一区二区 | 欧美涩涩网| 国产精品久久久久久久久 | 久久久久国产精品一区二区 | 亚洲 欧美 日韩 精品 | 性高湖久久久久久久久 | 91精品国产免费 | 伊人操操| 日日干日日爽 | 精品国产一区二区三区在线观看 | 成人视屏在线观看 | 亚洲一区二区三区视频免费观看 | 国产精品日韩欧美一区二区 | 犬夜叉在线观看 | 精品久久久久久久人人人人传媒 | 97国产资源| 成人精品鲁一区一区二区 | 在线视频成人永久免费 | 天天干天操 | 99久久夜色精品国产网站 | 大陆毛片 | 欧美视频成人 | 亚洲综合电影 | 一级毛片免费播放 | 欧美日韩大陆 | 国产午夜精品久久久久免费视高清 | 亚洲国产激情 | 精品一区二区在线观看 |