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