com.mars.server.server.request.HttpMarsRequest Maven / Gradle / Ivy
package com.mars.server.server.request;
import com.alibaba.fastjson.JSONObject;
import com.mars.server.server.request.model.MarsFileUpLoad;
import java.util.*;
/**
* 请求对象
* @author yuye
*
*/
public abstract class HttpMarsRequest {
/**
* 参数
*/
private Map> marsParams;
/**
* json参数
*/
private JSONObject jsonParam;
/**
* 上传的文件
*/
private Map files;
/**
* 获取java原生request
* @return 原生请求对象
*/
public abstract T getNativeRequest(Class cls);
/**
* 添加上传的文件
* @param files
*/
public void setFiles(Map files){
this.files = files;
}
/**
* 获取json传参
* @return json参数
*/
public JSONObject getJsonParam() {
return jsonParam;
}
/**
* 设置json传参
* @param jsonParam
*/
public void setJsonParam(JSONObject jsonParam) {
this.jsonParam = jsonParam;
}
/**
* 获取参数类型
* @return 参数类型
*/
public abstract String getContentType();
/**
* 设置参数
* @param params
*/
public void setParams(Map> params) {
if(params == null || params.size() < 1){
return;
}
this.marsParams = params;
}
/**
* 获取请求方法
* @return 请求方法
*/
public abstract String getMethod();
/**
* 获取要请求的uri
* @return 请求方法
*/
public abstract String getUrl();
/**
* 获取请求头数据
* @param key 键
* @return 头数据
*/
public abstract String getHeader(String key);
/**
* 获取请求的参数集
* @return 请求参数
*/
public Map getParameters() {
Map params = new HashMap<>();
if(marsParams == null){
return params;
}
for(String key : marsParams.keySet()){
List paramsList = marsParams.get(key);
if(paramsList == null || paramsList.size() < 1){
continue;
}
String[] paramsListToArray = paramsListToArray(paramsList);
if(paramsListToArray != null && paramsListToArray.length == 1){
params.put(key,paramsListToArray[0]);
} else {
params.put(key,paramsListToArray);
}
}
return params;
}
/**
* 获取单个请求的参数
* @param key 键
* @return 请求参数
*/
public String getParameter(String key) {
if(marsParams != null){
List value = marsParams.get(key);
if(value != null && value.size() > 0){
return value.get(0);
}
}
return null;
}
/**
* 获取单个请求的参数
* @param key 键
* @return 请求参数
*/
public String[] getParameterValues(String key) {
if(marsParams != null) {
List paramsList = marsParams.get(key);
return paramsListToArray(paramsList);
}
return null;
}
/**
* 获取请求的文件
* @return 文件列表
*/
public Map getFiles() throws Exception {
return files;
}
/**
* 获取单个请求的文件
*
* @param name 名称
* @return 单个文件
*/
public MarsFileUpLoad getFile(String name) throws Exception {
if (files != null){
return files.get(name);
}
return null;
}
/**
* 获取客户端InetSocketAddress
* @return inetSocketAddress
*/
public abstract String getInetSocketAddress();
/**
* 参数集合转String[]
* @param paramsList
* @return
*/
private String[] paramsListToArray(List paramsList){
if(paramsList == null || paramsList.size() < 1){
return null;
}
String[] paramsArray = new String[paramsList.size()];
return paramsList.toArray(paramsArray);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy