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

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

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

瀏覽:6日期: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
相關文章:
主站蜘蛛池模板: 欧美jizzhd精品欧美巨大免费 | 亚洲成人三级 | 国产免费天天看高清影视在线 | a级网站在线观看 | 91精品国产色综合久久不卡98 | 日日做夜夜爽毛片麻豆 | 久久久久久久久久久网站 | 精品久久久久久国产 | 五月婷婷综合激情 | 日韩欧美国产一区二区 | 中文字幕av一区二区 | 51ⅴ精品国产91久久久久久 | 久久久精彩视频 | 中文成人在线 | 午夜国产一区 | 性色视频在线 | 欧美一性一交 | 欧美性v| 成av在线| 青娱乐国产精品视频 | 一级片福利 | 久久99亚洲精品 | 美女一区二区三区四区 | 久草最新 | 国产女爽123视频.cno | 91免费在线| 美女午夜影院 | 91av国产视频 | 国产一二在线 | 久久综合久久综合久久综合 | av大片 | 欧美激情视频一区二区三区在线播放 | 国产精品一区二区久久 | 精品在线视频观看 | 久久久久国产精品午夜一区 | 精品久久久久久久久久久久 | 欧美综合精品 | 91在线观看网站 | 在线一区二区三区视频 | 亚洲av毛片一级二级在线 | 一级一片免费视频 |