添加 Response

master
yutent 2023-08-30 14:53:35 +08:00
parent f69a3dfb6e
commit e354823144
1 changed files with 80 additions and 0 deletions

80
Response.md Normal file

@ -0,0 +1,80 @@
## `Response`请求体对象
> 这是一个对原生的http response请求体, 进一步封装的结果, 会自动对url的合法性进行校验, 并且以友好的方式返回错误信息。 同时封装一些常用的方法。
### 属性
+ `.origin<Object>` 原生的request和response对象,如果封装的这些方法不满足你的需求,可以直接对原生的request进行操作。
+ `.rendered<Boolean>` 是否已经向客户端发送数据了。
### 方法
+ `.error(msg<String>, code<Number>)` 以好友的方式向客户端输出错误错误信息。
- msg`<String>` 信息文本
- code`<Number>` Http状态码, 默认500
+ `.status(code<Number>)` 预设http状态码。
+ `.redirect(url<String>, force<Boolean>)` url重定向。
- url`<String>` 要重定向的地址, 需带完整的协议
- force`<Boolean>` 是否永远重定向(301), 默认否(302).
+ `.location(url<String>)` url跳转(以html的形式)。
> 需要注意的是, 这个跳转是html的方式, 所以请确保你的客户端是浏览器或webview环境。
+ `.render(data<String>, code<Number>)` 以html的形式向客户端输出内容。
- data`<String>` html文本
- code`<Number>` Http状态码, 默认200
+ `.sendfile(target<String>|<Buffer>, name<String>)`
- target`<String>|<Buffer>` 要发送的数据, 可以是Buffer对象, 也可以字符串文本, 也可以是文件路径; 如果文件比较大, 推荐直接传入路径。
- name`<String>` 最终要保存的文件名。
> 以文件形式向客户端输出内容, 即下载功能。
+ `.send(code<Number>, msg<String>, data<Any>, callback<String>)`
- code`<Number>` Http状态码, 默认200
- msg`<String>` 额外信息文本
- data`<Any>` 要发送的数据, 可以是任意符合json的数据类型。
- callback`<String>` jsonp协议的回调函数名。[可选]
> 以json格式向客户端输出内容, 可支持jsonp协议; 默认遵循resful-api规范。
+ `.end(data<String>|<Buffer>)` 向客户端输出内容, 不指定形式。
+ `.get(key<String>)` 读取预写入客户端的头信息。
> 注意,该方法不读取客户端发送上来的头信息, 是读取即将发送到客户端的头信息。
+ `.set(key<String>, val<String>)` 预写入客户端的头信息。
> key大小写不敏感。同一个key, 重复写入的话, 会覆盖之前的内容。
+ `.append(key<String>, val<String>)` 预写入客户端的头信息。
> 功能跟上面的.set()一样, 但是append()方法不会覆盖之前写入的内容, 而是在后面追加。
+ `.cookie(key<String>, val<String>, opt<Object>)` 预写入cookie。
> key大小写不敏感, 同一个key会覆盖之前的。
> **注意:** 控制器基类中已经基于本方法封装了一个读取+写入的cookie方法, 建议直接使用。
----
上一节: [⟪Request⟫](https://github.com/bytedo/gmf.core/wiki/Request)
下一节: [⟪会话Session⟫](https://github.com/bytedo/gmf.core/wiki/Session)