作用
提供运行时对象一定程度的纠错能力
API
属性 input
是一个InputHandler
assign(String name, Any value)
在返回中添加 name,值为 value如果 value 是个
AV.Object
或是它的数组,则会调用
avObj.toJSON()
。返回这个对象的内容如果有Pointer类型的数据,它将被递归的转换为json。
如果遇到Date类型的数据,它会被转换成ISOString。(这不影响 assign('x', new Date) 这种用法)
assign(Object value)
把 value 和当前已有的返回值合并(extend)因为合并过程通过
this.assign(name, value)
所以也有序列化 AV.Object
的能力如果 value 不是一个对象,或者是个数组,则会抛异常
display(String templateFileName)
渲染一个模板displayError(ApiError e, String templateFileName)
渲染一个错误,如果是 ajax,则返回 json在模板中,变量 error = 参数e
此前assign的值在模板中继续可用(ajax不会返回)
通常不传第二个参数,使用配置中指定的错误模板
this.assign("a", 1);
this.displayError(new Error("WOW"));
// if in template, a=1 & error=Error("WOW").
// if ajax, return { status:-1, message:"Error: WOW" }
属性 defaultError
只能get,返回默认的错误处理函数,它简单地调用displayError通过将其传入Promise的reject-callback中实现简单错误处理
http(Number code)
设置http status值,默认200debug_send(String|Buffer data, String contentType)
直接发送数据,并制定类型如名字所说的,它应该用于调试,而不是任何正式接口
json()
输出assign
的变量为 json,如果没有 status
,则附加一个 status=0
next()
跳过当前 controller(于是就到了404处理器,显示一个“页面未找到”,当然,你也可以添加其他路由做其他事情)redirect(String url, Number status)
重定向,status默认是302 - 临时重定向,也可以设置为 301 - 永久重定向如果url是 http:// 、https:// 开头,则不特殊处理
否则转换为相对
CONFIG.BASE_URL
的绝对路径(通过 site_url()
)
setCookie(name, value, expire, path, domain, secure, httponly)
设置cookie
参考cookie相关信息
只有name和value是必须的
要注意的是 expire
:
如果 < 0
,则删除这个cookie
如果 === 0
,则创建会话cookie
如果 < 1000
,则为保留天数
如果 < 9000000000
,则为到期unix时间戳(最大32位时间戳为
2147483647
)
如果 > 9000000000
,则为到期java时间戳(毫秒)
如果是 Date
,则认为是准确的到期时间对象