yutent edited this page
Response
请求体对象
这是一个对原生的http Response进一步封装的对象, 封装一些常用的方法。
属性
-
.ended
【只读】是否已经向客户端发送数据了, 为true时, 即已结束响应, 无法再追加任何数据。 -
.charset
【只写】, 设置响应数据的编码(当且仅当响应的内容是文本类型时生效), 默认为utf-8
。 -
.length
【只写】, 设置响应数据的字节长度, 一般很少需要手动设置。 -
.body
【只写】, 设置响应的数据, 可以是Buffer对象, 也可以是字符串, 也可以是 null。 -
.type
设置响应数据的类型。只需要写后缀名即可, 如res.type = 'html'
,res.type = 'png'
。 -
.status
设置响应的http状态码。默认 200.
方法
.error(msg<String>, code<Number>)
以好友的方式向客户端输出错误错误信息。- msg
<String>
信息文本 - code
<Number>
Http状态码, 默认500
- msg
.redirect(url<String>, force<Boolean>)
url重定向。- url
<String>
要重定向的地址, 需带完整的协议 - force
<Boolean>
是否永远重定向(301), 默认否(302).
- url
.location(url<String>)
url跳转(以html的形式)。需要注意的是, 这个跳转是html的方式, 所以请确保你的客户端是浏览器或webview环境。
.render(data<String>, code<Number>)
以html的形式向客户端输出内容。- data
<String>
html文本 - code
<Number>
【可选】Http状态码, 默认200
- data
-
.sendfile(target<String>|<Buffer>, name<String>)
- target
<String>|<Buffer>
要发送的数据, 可以是Buffer对象, 也可以字符串文本, 也可以是文件路径; 如果文件比较大, 推荐直接传入路径。 - name
<String>
【可选】最终要保存的文件名。
以附件形式向客户端输出内容, 即下载功能, 支持分片下载。
- target
-
.send(code<Number>, msg<String>, data<Any>)
- code
<Number>
Http状态码, 默认200 - msg
<String>
额外信息文本 - data
<Any>
要发送的数据, 可以是任意符合json的数据类型。
以json格式向客户端输出内容, 默认遵循resful-api规范。
当code的值不在 200~599这个范围内时, http状态不会跟随code的值(会使用默认的200)。
- code
.get(key<String>)
读取预写入客户端的头信息。注意,该方法不读取客户端发送上来的头信息, 是读取即将发送到客户端的头信息。
.set(key<String>, val<String>)
预写入客户端的头信息。key大小写不敏感。同一个key, 重复写入的话, 会覆盖之前的内容。
.append(key<String>, val<String>)
预写入客户端的头信息。功能跟上面的.set()一样, 但是append()方法不会覆盖之前写入的内容, 而是在后面追加。
.delete(key<String>)
删除写入的客户端的头信息。
.cookie(key<String>, val<String>, opt<Object>)
预写入cookie。key大小写不敏感, 同一个key会覆盖之前的。 注意: 控制器基类中已经基于本方法封装了一个读取+写入的cookie方法, 建议直接使用。