This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
package org.redkale.mq;
|
||||
|
||||
import org.redkale.convert.*;
|
||||
import org.redkale.net.http.*;
|
||||
|
||||
/**
|
||||
@@ -20,13 +21,45 @@ public class HttpMessageRequest extends HttpRequest {
|
||||
|
||||
protected MessageRecord message;
|
||||
|
||||
protected Convert diyConvert;
|
||||
|
||||
public HttpMessageRequest(HttpContext context, MessageRecord message) {
|
||||
super(context, message.decodeContent(HttpSimpleRequestCoder.getInstance()));
|
||||
this.message = message;
|
||||
this.currentUserid = message.getUserid();
|
||||
if (message.getFormat() != ConvertType.JSON) {
|
||||
this.diyConvert = ConvertFactory.findConvert(message.getFormat());
|
||||
}
|
||||
}
|
||||
|
||||
public void setRequestURI(String uri) {
|
||||
this.requestURI = uri;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T getBodyJson(java.lang.reflect.Type type) {
|
||||
if (diyConvert != null) return (T) diyConvert.convertFrom(type, getBody());
|
||||
return super.getBodyJson(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getParameter(String name) {
|
||||
if (diyConvert != null) return (String) diyConvert.convertFrom(String.class, getBody());
|
||||
return super.getParameter(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getParameter(String name, String defaultValue) {
|
||||
if (diyConvert != null) {
|
||||
String val = (String) diyConvert.convertFrom(String.class, getBody());
|
||||
return val == null ? defaultValue : val;
|
||||
}
|
||||
return super.getParameter(name, defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T getJsonParameter(java.lang.reflect.Type type, String name) {
|
||||
if (diyConvert != null) return (T) diyConvert.convertFrom(type, getBody());
|
||||
return super.getJsonParameter(type, name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.nio.channels.Channels;
|
||||
import java.nio.charset.*;
|
||||
import java.util.*;
|
||||
import java.util.logging.Level;
|
||||
import org.redkale.convert.ConvertDisabled;
|
||||
import org.redkale.convert.*;
|
||||
import org.redkale.convert.json.JsonConvert;
|
||||
import org.redkale.net.*;
|
||||
import org.redkale.util.*;
|
||||
@@ -559,16 +559,15 @@ public class HttpRequest extends Request<HttpContext> {
|
||||
* 获取请求内容的JavaBean对象
|
||||
*
|
||||
* @param <T> 泛型
|
||||
* @param convert JsonConvert
|
||||
* @param convert Convert
|
||||
* @param type 类型
|
||||
*
|
||||
* @return 内容
|
||||
*/
|
||||
public <T> T getBodyJson(JsonConvert convert, java.lang.reflect.Type type) {
|
||||
String str = array.toString(StandardCharsets.UTF_8);
|
||||
if (str == null || str.isEmpty()) return null;
|
||||
return convert.convertFrom(type, str);
|
||||
}
|
||||
public <T> T getBodyJson(Convert convert, java.lang.reflect.Type type) {
|
||||
if (array.size() < 1) return null;
|
||||
return (T) convert.convertFrom(type, array.directBytes());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取请求内容的byte[]
|
||||
|
||||
Reference in New Issue
Block a user