Appearance
request — 请求对象
request 模块封装了 HTTP 请求信息,用于在接口脚本中获取请求参数、请求头、Cookie 等。
引入方式
request 为全局对象,无需 require,可直接使用。
参数获取
Get — 获取 URL 查询参数
javascript
var id = request.Get("id")Post — 获取 POST 表单字段
javascript
var name = request.Post("name")Body — 获取 JSON 请求体
javascript
var body = request.Body()
// 返回: {name: "张三", age: 25}RawBody — 获取原始请求体
javascript
var raw = request.RawBody()
// 返回: '{"name":"张三","age":25}'Param — 统一参数获取
按优先级获取参数:路由参数 > 脚本参数 > Query > Post > Body
javascript
var id = request.Param("id")Input — 统一输入获取
按优先级获取输入:JSON Body > POST > GET > 默认值
javascript
var name = request.Input("name", "默认值")All — 获取所有输入参数
javascript
var all = request.All()Only — 只获取指定字段
javascript
var data = request.Only(["name", "email"])Except — 排除指定字段
javascript
var data = request.Except(["password", "token"])Has — 判断参数是否存在
javascript
if (request.Has("id")) {
// 参数存在
}File — 获取上传文件
javascript
var file = request.File("avatar")
// 返回: {filename: "photo.jpg", size: 102400, ...}请求信息
| 方法 | 返回值 | 说明 |
|---|---|---|
Method() | string | 请求方法(GET/POST/PUT/DELETE) |
Path() | string | 请求路径 |
FullPath() | string | 完整路由路径 |
URL() | string | 完整 URL |
IP() | string | 客户端真实 IP |
UserAgent() | string | User-Agent |
Referer() | string | 来源 URL |
Host() | string | 主机名 |
Scheme() | string | 协议(http/https) |
ContentType() | string | Content-Type |
Port() | string | 服务器端口 |
BaseURL() | string | 基础 URL |
请求判断
| 方法 | 返回值 | 说明 |
|---|---|---|
IsHTTPS() | bool | 是否 HTTPS |
IsAJAX() | bool | 是否 AJAX 请求 |
IsJSON() | bool | 是否 JSON 请求 |
IsForm() | bool | 是否表单请求 |
IsMobile() | bool | 是否移动设备 |
IsBot() | bool | 是否爬虫 |
请求头与 Cookie
Header — 获取请求头
javascript
var auth = request.Header("Authorization")Headers — 获取所有请求头
javascript
var headers = request.Headers()Cookie — 获取 Cookie
javascript
var token = request.Cookie("token")Cookies — 获取所有 Cookie
javascript
var cookies = request.Cookies()认证信息
AuthBearer — 获取 Bearer Token
javascript
var token = request.AuthBearer()AuthBasic — 获取 Basic 认证凭据
javascript
var creds = request.AuthBasic()
// 返回: [username, password]完整示例
javascript
// 获取请求参数
var id = request.Param("id")
var name = request.Input("name", "")
var body = request.Body()
// 获取请求信息
var method = request.Method()
var ip = request.IP()
// 判断请求类型
if (request.IsJSON()) {
var data = request.Body()
}
// 获取认证信息
var token = request.AuthBearer()
// 获取上传文件
var file = request.File("avatar")
if (file) {
log.Info("上传文件: " + file.filename)
}