@jzt-hinny/mvc
Version:
clever-hinny Web开发js模块
364 lines (363 loc) • 12.2 kB
TypeScript
/// <reference types="jzt-hinny" />
import { ValidatorBean, ValidatorRule } from "@jzt-hinny/core";
import { HttpSessionWrapper } from "./HttpSessionWrapper";
import { ServletContextWrapper } from "./ServletContextWrapper";
import { QueryBySort } from "../model/request/QueryBySort";
import { QueryByPage } from "../model/request/QueryByPage";
export interface UploadFile {
/**
* 参数的名称
*/
getName(): JString;
/**
* 原始文件名,如果在多部分形式中未选择文件,则为空字符串;如果未定义或不可用,则为空字符串
*/
getOriginalFilename(): JString;
/**
* 内容类型,如果未定义,则为空(或在多部分形式中未选择文件)
*/
getContentType(): JString;
/**
* 返回上传的文件是否为空,即没有在多部分表单中选择文件或所选文件没有内容
*/
isEmpty(): JBoolean;
/**
* 文件的大小,如果为空,则为0
*/
getSize(): JLong;
/**
* 文件的内容为字节,如果为空,则为空字节数组
*/
getBytes(): JByte[];
/**
* 文件的内容为流,如果为空,则为空流
*/
getInputStream(): JInputStream;
/**
* 将接收到的文件传输到给定的目标文件
*/
transferTo(filePath: JString): void;
}
export interface HttpRequestWrapper extends JObject {
/**
* 原始HTTP请求对象
*/
originalRequest(): JHttpServletRequest;
/**
* 返回具有给定名字的 servlet container 的属性,或者当没有具有所给名字的属性时,返回一个空值
*/
getAttribute<T = any>(name: JString): T | null;
/**
* 从请求消息中删除一个属性
*/
removeAttribute(name: JString): void;
/**
* 存储一个请求消息中的属性
*/
setAttribute(name: JString, obj: any): void;
/**
* 返回一个包含servlet context中属性名字变量的集合
*/
getAttributeNames(): JList<JString>;
/**
* 返回用在请求信息的body编码的字符的名称
*/
getCharacterEncoding(): JString;
/**
* 返回请求体的用字节表示的长度,并被输入流改变为有效。如果长度未知,就返回-1
*/
getContentLength(): JInt;
/**
* 返回请求体的 MIME类型,当长度未知是就返回一个空值
*/
getContentType(): JString;
/**
* 用一个 ServletInputStream 重新得到二进制的请求消息体
*/
getInputStream(): JInputStream;
/**
* 用一个 BufferedReader 重新得到字符串数据的请求消息体
*/
getReader(): JReader;
/**
* 以 protocol/majorVersion.minorVersion, 的格式返回请求所用协议的名称和版本。例如HTTP/1.1
*/
getProtocol(): JString;
/**
* 返回一个布尔值以指明是否这个请求使用了一个安全信道,如HTTPS
*/
isSecure(): JBoolean;
/**
* 返回用以作出请求消息的方案的名称,如 http, https, 或ftp等
*/
getScheme(): JString;
/**
* 返回收到请求的服务器主机的名字
*/
getServerName(): JString;
/**
* 返回收到请求的端口号
*/
getServerPort(): JInt;
/**
* 返回一个请求参数的字符串值。若该参数不存在,则返回一个空值
*/
getParameter(name: JString): JString;
/**
* 返回一个包含了请求中的参数名字的字符串对象的枚举变量
*/
getParameterNames(): JList<JString>;
/**
* 返回一个包含所有的给定请求参数的值的字符串对象的向量。若该参数不存在,则返回一个空值
*/
getParameterValues(name: JString): JString[];
/**
* 获取所有请求参数
*/
getParameterMap(): JMap<JString, JString[]>;
/**
* 返回客户端发送请求的IP地址
*/
getRemoteAddr(): JString;
/**
* 返回发送请求的客户端的完全合格的名称;或者如果客户端的名字没有确定则返回其IP地址
*/
getRemoteHost(): JString;
getRemotePort(): JInt;
getLocalAddr(): JString;
getLocalName(): JString;
getLocalPort(): JInt;
getServletContext(): ServletContextWrapper;
/**
* 返回用于保护servlet的认证方案的名字,例如, "BASIC" 或 "SSL,"。如果servlet没有被保护则返回一个空值
*/
getAuthType(): JString | null;
/**
* 如果用户已被授权认证,则返回用户作出请求的登录情况;否则就返回一个空值
*/
getRemoteUser(): JString;
/**
* 返回由客户机指定的会话ID
*/
getRequestedSessionId(): JString;
/**
* 返回关于该请求的当前会话。或者若该请求没有会话则就创建一个
*/
getSession(): HttpSessionWrapper;
/**
* 返回有关本请求的当前HttpSession,或者若该请求没有会话,且“创建”属性为真,则就创建一个
*/
getSession(create: JBoolean): HttpSessionWrapper;
/**
* 检查是否要求的会话ID已作为cookie来到
*/
isRequestedSessionIdFromCookie(): JBoolean;
/**
* 检查是否要求的会话ID已作为请求URL的一部分到达
*/
isRequestedSessionIdFromURL(): JBoolean;
/**
* 检查是否要求的会话ID仍有效
*/
isRequestedSessionIdValid(): JBoolean;
/**
* 返回指明请求context的请求URL的部分
*/
getContextPath(): JString;
/**
* 返回调用servlet的请求的URL部分<br />
* 请求url path,如:/api/demo_1
*/
getServletPath(): JString;
/**
* 返回用以作出请求的HTTP方法的名称,例如 GET, POST,或 PUT等等
*/
getMethod(): JString;
/**
* 返回该请求消息的URL中HTTP协议第一行里从协议名称到请求字符串的部分<br />
* 请求url path,如:/api/demo_1
*/
getRequestURI(): JString;
/**
* 请求url(protocol、host、path),如:http://demo.msvc.top:18081/api/demo_1
*/
getRequestURL(): JString;
/**
* 返回有关当客户端作出请求时的URL的任何额外的路径信息
*/
getPathInfo(): JString;
/**
* 返回在servlet名字之后查询字符串之前的任何额外的路径信息,并将其转换成一个真正的路径
*/
getPathTranslated(): JString;
/**
* 返回包含在请求URL中路径之后的查询字符串<br />
* 查询字符串,如:a=123a&b=456b
*/
getQueryString(): JString;
/**
* 返回所有的本请求消息包含的头名字的集合
*/
getHeaderNames(): JList<JString>;
/**
* 返回指定的作为字符串请求消息头的值
*/
getHeader(name: JString): JString;
/**
* 以一个字符串对象集合的形式,返回包含指定请求消息头的所有值
*/
getHeaders(name: JString): JList<JString>;
/**
* 返回一个指定的请求消息头的整数值
*/
getIntHeader(name: JString): JInt;
/**
* 返回指定的请求消息头的值,返回值格式是描述日期对象的长型数值
*/
getDateHeader(name: JString): JLong;
/**
* 返回包含所有的客户端随请求信息发送来的cookie对象的一个 array
*/
getCookies(): JCookie[];
/**
* 获取数据库排序查询参数
*/
getQueryBySort(): QueryBySort;
/**
* 获取数据库分页查询参数
*/
getQueryByPage(): QueryByPage;
/**
* 获取参数对象
*/
getParams<T extends object = any>(): T;
/**
* 获取Body对象
*/
getBody<T extends object = any>(): T;
/**
* 获取参数Map
*/
getParamsMap(): JMultiValueMap<JString, JString>;
/**
* 获取请求参数(Parameter和Body都会取)
*/
getRequestData<T extends object = any>(): T;
/**
* 从Body中填充数据
*
* @param model 数据结构以及初始值
* @param fillNull null值是否也要填充
*/
fillFromBody(model: object, fillNull: boolean): void;
/**
* 从Body中填充数据
*
* @param model 数据结构以及初始值
*/
fillFromBody(model: object): void;
/**
* 从Params中填充数据
*
* @param model 数据结构以及初始值
* @param fillNull null值是否也要填充
*/
fillFromParams(model: object, fillNull: boolean): void;
/**
* 从Params中填充数据
*
* @param model 数据结构以及初始值
*/
fillFromParams(model: object): void;
/**
* 从Body或者Params中填充数据
*
* @param model 数据结构以及初始值
* @param fillNull null值是否也要填充
*/
fillFromAny(model: object, fillNull: boolean): void;
/**
* 从Body或者Params中填充数据
*
* @param model 数据结构以及初始值
*/
fillFromAny(model: object): void;
/**
* 从Body中填充数据然后验证数据
*
* @param model 数据结构以及初始值
* @param rule 校验规则
* @param fillNull null值是否也要填充
* @param fast 快速验证(只要有一个错误就抛出异常)
*/
fillAndValidatedFromBody<T extends object = ValidatorBean>(model: T, rule: ValidatorRule<T>, fillNull: boolean, fast: boolean): void;
/**
* 从Body中填充数据然后验证数据
*
* @param model 数据结构以及初始值
* @param rule 校验规则
*/
fillAndValidatedFromBody<T extends object = ValidatorBean>(model: T, rule: ValidatorRule<T>): void;
/**
* 从Params中填充数据然后验证数据
*
* @param model 数据结构以及初始值
* @param rule 校验规则
* @param fillNull null值是否也要填充
* @param fast 快速验证(只要有一个错误就抛出异常)
*/
fillAndValidatedFromParams<T extends object = ValidatorBean>(model: T, rule: ValidatorRule<T>, fillNull: boolean, fast: boolean): void;
/**
* 从Params中填充数据然后验证数据
*
* @param model 数据结构以及初始值
* @param rule 校验规则
*/
fillAndValidatedFromParams<T extends object = ValidatorBean>(model: T, rule: ValidatorRule<T>): void;
/**
* 从Body或者Params中填充数据然后验证数据
*
* @param model 数据结构以及初始值
* @param rule 校验规则
* @param fillNull null值是否也要填充
* @param fast 快速验证(只要有一个错误就抛出异常)
*/
fillAndValidatedFromAny<T extends object = ValidatorBean>(model: T, rule: ValidatorRule<T>, fillNull: boolean, fast: boolean): void;
/**
* 从Body或者Params中填充数据然后验证数据
*
* @param model 数据结构以及初始值
* @param rule 校验规则
*/
fillAndValidatedFromAny<T extends object = ValidatorBean>(model: T, rule: ValidatorRule<T>): void;
/**
* 获取上传的文件名称
*/
getUploadFileNames(): JList<JString>;
/**
* 获取上传的文件
*
* @param filename 文件名称
*/
getUploadFile(filename: JString): UploadFile;
/**
* 获取上传的文件
*
* @param filename 文件名称
*/
getUploadFiles(filename: JString): JList<UploadFile>;
/**
* 获取所有上传的文件
*/
getAllUploadFiles(): JMultiValueMap<JString, UploadFile>;
/**
* 获取所有上传的文件
*
* @param filename 文件名称
*/
getAllUploadFiles(filename: JString): JList<UploadFile>;
/**
* 获取第一个上传的文件
*/
getFirstUploadFile(): UploadFile;
}