From 0f6aae5f1cf221e13efa1b4b7f536bdb7ee49989 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Fri, 22 Jul 2022 22:12:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=92=88=E5=AF=B9http=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=89=8D=E7=BD=AE=E5=A4=84=E7=90=86=E4=BC=98=E5=8C=96.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/web/param/HttpRequestParser.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/param/HttpRequestParser.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/param/HttpRequestParser.java index 9af6cb5a..7ae1fdc1 100644 --- a/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/param/HttpRequestParser.java +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/param/HttpRequestParser.java @@ -21,6 +21,7 @@ */ package fun.asgc.neutrino.core.web.param; +import fun.asgc.neutrino.core.util.Assert; import fun.asgc.neutrino.core.util.LockUtil; import fun.asgc.neutrino.core.util.StringUtil; import io.netty.buffer.ByteBuf; @@ -30,6 +31,7 @@ import io.netty.util.CharsetUtil; import java.util.HashMap; import java.util.Map; +import java.util.function.Function; /** * Http请求解析器 @@ -106,4 +108,50 @@ public class HttpRequestParser { public String getContentAsString() { return getContent().toString(CharsetUtil.UTF_8); } + + public String getParameter(String key) { + return getQueryParamMap().get(key); + } + + public Byte getParameterForByte(String key) { + return getParameterAndConvert(key, Byte::valueOf); + } + + public Short getParameterForShort(String key) { + return getParameterAndConvert(key, Short::valueOf); + } + + public Integer getParameterForInteger(String key) { + return getParameterAndConvert(key, Integer::valueOf); + } + + public Long getParameterForLong(String key) { + return getParameterAndConvert(key, Long::valueOf); + } + + public Float getParameterForFloat(String key) { + return getParameterAndConvert(key, Float::valueOf); + } + + public Double getParameterForDouble(String key) { + return getParameterAndConvert(key, Double::valueOf); + } + + public Boolean getParameterForBoolean(String key) { + return getParameterAndConvert(key, Boolean::valueOf); + } + + public String getParameterForString(String key) { + return getParameterAndConvert(key, Function.identity()); + } + + public T getParameterAndConvert(String key, Function convert) { + Assert.notEmpty(key, "key不能为空!"); + Assert.notNull(convert, "convert不能为空!"); + String val = getParameter(key); + if (StringUtil.notEmpty(val)) { + return convert.apply(val); + } + return null; + } }