5.1.1 • Published 9 months ago

@zenweb/body v5.1.1

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

body - 请求内容解析

请求内容解析

功能说明

解析客户端发送的 JSON、Form-urlencoded、Text、二进制 等内容格式。

所支持的解析格式可扩展可自定义。默认支持格式:JSON、Form-urlencoded、Text

演示

import { Context, mapping, Body, $body } from 'zenweb';

export class Controller {
  @mapping({ path: '/', method: 'POST' })
  post(body: Body) {
    console.log(body.type); // POST body 内容类型
    console.log(body.data); // POST Body 内容解析完成后的数据
  }

  @mapping({ path: '/', method: 'POST' })
  async post() {
    console.log(await getAge()); // 类型转换&校验
  }
}

async function getAge() {
  return (await $body.get({ age: '!int' })).age;
}

依赖模块

  • @zenweb/inject
  • @zenweb/helper

配置项

配置项类型默认值功能
encodingstring'utf-8'客户端未指定情况下,文本内容字符集的默认编码
limitnumber1024 * 1024提交内容尺寸限制,默认:1MB
inflatebooleantrue是否支持 http 压缩传输的内容
textTypesstring[]['text/*', 'json', '+json', 'xml', '+xml', 'urlencoded']可以被解析成 Text 格式的 mimetype
parsesBodyParserClass[][JSONParser, URLEncodedParser]内容解析器

Core 挂载项

Context 挂载项

可注入对象

  • singleton

    • BodyOption
  • request

    • RawBody
    • TextBody
    • Body
    • ObjectBody
    • BodyHelper

全局模式

方法功能
$getRawBody()取得当前请求原始请求内容
$getTextBody()取得当前请求文本内容,经过文字编码转换
$getObjectBody()取得当前请求数据对象
$bodyBodyHelper 对象快捷方式

其他扩展格式解析

xml

5.1.1

9 months ago

5.1.0

9 months ago

5.0.0

10 months ago

4.1.0

10 months ago

4.0.8

2 years ago

4.0.5

2 years ago

4.0.4

2 years ago

4.0.7

2 years ago

4.0.6

2 years ago

4.0.1

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

3.10.0

2 years ago

4.0.0

2 years ago

3.9.0

2 years ago

3.4.0

2 years ago

3.3.1

2 years ago

3.2.2

2 years ago

3.3.0

2 years ago

3.2.1

2 years ago

3.2.0

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.8.0

2 years ago

3.6.2

2 years ago

3.7.0

2 years ago

3.6.1

2 years ago

3.6.0

2 years ago

3.5.1

2 years ago

3.5.0

2 years ago

3.0.0

2 years ago

2.5.0

2 years ago

2.4.1

3 years ago

2.4.0

3 years ago

2.4.3

3 years ago

2.4.2

3 years ago

2.3.0

4 years ago

2.2.1

4 years ago

2.2.0

4 years ago

2.0.2

4 years ago

2.2.3

4 years ago

2.3.1

4 years ago

2.2.2

4 years ago

2.2.4

4 years ago

2.1.0

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago