# 路线
## 对象规格
样本对象
~~~json
{
"id": "9a7806061c88ada191ed06f989cc3dac",
"pattern": "example.net/*",
"script": "example-script"
}
~~~
* `id`:标识符标签;在创建时返回正文
* `pattern`:路线的字符串表示形式。必须遵守[路线约定](https://developers.cloudflare.com/workers/about/routes)
* `script`\[可选\]:匹配路由时要应用的脚本名称。如果该路径为空白/缺失,则该路径充当占位符。
## 建立路线
`POST zones/:zone_id/workers/routes`
##### 样品申请:
~~~sh
curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/workers/routes" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"pattern":"example.net/*","script":"example-script"}'
~~~
##### 样本响应:
~~~
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "9a7806061c88ada191ed06f989cc3dac"
}
}
~~~
#### 请求
##### URL参数
* `zone_id`:与您要为其添加路线的区域相关联的标识符。[查找您的Cloudflare区域ID](https://developers.cloudflare.com/workers/quickstart/#configure)
##### 标头
[查找您的身份验证信息](https://developers.cloudflare.com/workers/quickstart/#configure)
* `Authorization`
* `Content-type`:应用程序/ JSON
##### 有效载荷
* `pattern`:路线的字符串表示形式。必须遵守[路线约定](https://developers.cloudflare.com/workers/about/routes)
* `script`\[可选\]:匹配路由时要应用的脚本名称。如果该路径为空白/缺失,则该路径充当占位符。
#### 响应
##### 身体
* `success`:布尔值
* `result`:生成的脚本的[路由对象](https://developers.cloudflare.com/workers/tooling/api/routes/#object-specification)。仅包含路线标签。如果成功为假,则为空
* `errors`:[错误对象](https://developers.cloudflare.com/workers/tooling/api/#error-object)数组。如果成功为真,则为空
* `messages`:字符串数组(未使用)
##### 失误
###### 缺少帐户/区域标识符
~~~
status: 404
error: {
code: 10005,
message: "workers.api.error.not_found"
}
~~~
###### 解析请求正文失败
~~~
status: 400
error: {
code: 10026,
message: "workers.api.error.parse_body"
}
~~~
###### 无效的路由模式
~~~
status: 400
error: {
code: 10022,
message: varies; see below
}
~~~
可能的错误消息包括:(`[pattern]`给定的路由模式在哪里)
* `Route pattern must include zone name: [pattern]`
* `Route pattern may only contain wildcards at the beginning of the hostname and the end of the path: [pattern]`
* `Route pattern should not have query parameters [pattern]`
* `Could not understand route pattern [pattern], please try a different pattern`
请参阅[路线图](https://developers.cloudflare.com/workers/about/routes)。
###### 缺少脚本
~~~
status: 400
error: {
code: 10019,
message: "workers.api.error.invalid_route_script_missing"
}
~~~
###### 路线重复
~~~
status: 409
error: {
code: 10020,
message: "workers.api.error.duplicate_route"
}
~~~
###### 内部错误
~~~
status: 500
error: {
code: 10013,
message: "workers.api.error.unknown"
}
~~~
## 列出路线
`GET zones/:zone_id/workers/routes`
##### 样品申请:
~~~sh
curl -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/workers/routes" \
-H "Authorization: Bearer $CF_API_TOKEN"
~~~
##### 样本响应:
~~~
{
"success": true,
"errors": [],
"messages": [],
"result": [
{
"id": "9a7806061c88ada191ed06f989cc3dac",
"pattern": "example.net/*",
"script": "example-script"
}
]
}
~~~
#### 请求
##### URL参数
* `zone_id`:与您要为其添加路线的区域相关联的标识符。[查找您的Cloudflare区域ID](https://developers.cloudflare.com/workers/quickstart/#configure)
##### 标头
[查找您的身份验证信息](https://developers.cloudflare.com/workers/quickstart/#configure)
* `Authorization`
##### 有效载荷
不适用
#### 响应
##### 身体
* `success`:布尔值
* `result`:与该区域关联的所有路由的[路由对象](https://developers.cloudflare.com/workers/tooling/api/routes/#object-specification)的数组。如果成功为假,则为空
* `errors`:[错误对象](https://developers.cloudflare.com/workers/tooling/api/request##error-object)数组。如果成功为真,则为空
* `messages`:字符串数组(未使用)
##### 失误
###### 缺少帐户/区域标识符
~~~
status: 404
error: {
code: 10005,
message: "workers.api.error.not_found"
}
~~~
###### 内部错误
~~~
status: 500
error: {
code: 10013,
message: "workers.api.error.unknown"
}
~~~
## 取得路线
`GET zones/:zone_id/workers/routes/:route_id`
##### 样品申请:
~~~sh
curl -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/workers/routes/$ROUTE_ID" \
-H "Authorization: Bearer $CF_API_TOKEN"
~~~
##### 样本响应:
~~~
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "9a7806061c88ada191ed06f989cc3dac",
"pattern": "example.net/*",
"script": "example-script"
}
}
~~~
#### 请求
##### URL参数
* `zone_id`:与您要为其添加路线的区域相关联的标识符。[查找您的Cloudflare区域ID](https://developers.cloudflare.com/workers/quickstart/#configure)
* `route_id`:请求的[路由对象](https://developers.cloudflare.com/workers/tooling/api/routes/#object-specification)的ID。
##### 标头
[查找您的身份验证信息](https://developers.cloudflare.com/workers/quickstart/#configure)
* `Authorization`
##### 有效载荷
不适用
#### 响应
##### 身体
* `success`:布尔值
* `result`:所请求脚本的[路由对象](https://developers.cloudflare.com/workers/tooling/api/routes/#object-specification)。如果成功为假,则为空
* `errors`:[错误对象](https://developers.cloudflare.com/workers/tooling/apis/requests#error-object)数组。如果成功为真,则为空
* `messages`:字符串数组(未使用)
##### 失误
###### 缺少帐户/区域标识符
~~~
status: 404
error: {
code: 10005,
message: "workers.api.error.not_found"
}
~~~
###### 找不到路线
~~~
status: 404
error: {
code: 10005,
message: "workers.api.error.not_found"
}
~~~
###### 内部错误
~~~
status: 500
error: {
code: 10013,
message: "workers.api.error.unknown"
}
~~~
## 更新资料
`PUT zones/:zone_id/workers/routes/:route_id`
##### 样品申请:
~~~sh
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/workers/routes/$ROUTE_ID" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"pattern":"example.net/*","script":"example-script"}'
~~~
##### 样本响应:
~~~
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "9a7806061c88ada191ed06f989cc3dac"
}
}
~~~
#### 请求
##### URL参数
* `zone_id`:与您要为其添加路线的区域相关联的标识符。[查找您的Cloudflare区域ID](https://developers.cloudflare.com/workers/quickstart/#configure)
* `route_id`:正在更新的[路由对象](https://developers.cloudflare.com/workers/tooling/api/routes/#object-specification)的ID。
##### 标头
[查找您的身份验证信息](https://developers.cloudflare.com/workers/quickstart/#configure)
* `Authorization`
* `Content-type`:应用程序/ JSON
##### 有效载荷
* `pattern`:路线的字符串表示形式。必须遵守[路线约定](https://developers.cloudflare.com/workers/about/routes)
* `script`\[可选\]:匹配路由时要应用的脚本名称。如果该路径为空白/缺失,则该路径充当占位符。
#### 响应
##### 身体
* `success`:布尔值
* `result`:更新脚本的[路由对象](https://developers.cloudflare.com/workers/tooling/api/routes/#object-specification)。如果成功为假,则为空
* `errors`:[错误对象](https://developers.cloudflare.com/workers/tooling/api/requests#error-object)数组。如果成功为真,则为空
* `messages`:字符串数组(未使用)
##### 失误
###### 缺少帐户/区域标识符
~~~
status: 404
error: {
code: 10005,
message: "workers.api.error.not_found"
}
~~~
###### 解析请求正文失败
~~~
status: 400
error: {
code: 10026,
message: "workers.api.error.parse_body"
}
~~~
###### 无效的路由模式
~~~
status: 400
error: {
code: 10022,
message: varies; see below
}
~~~
可能的错误消息包括:(`[pattern]`给定的路由模式在哪里)
* `Route pattern must include zone name: [pattern]`
* `Route pattern may only contain wildcards at the beginning of the hostname and the end of the path: [pattern]`
* `Route pattern should not have query parameters [pattern]`
* `Could not understand route pattern [pattern], please try a different pattern`
请参阅[路线图](https://developers.cloudflare.com/workers/about/routes)。
###### 缺少脚本
~~~
status: 400
error: {
code: 10019,
message: "workers.api.error.invalid_route_script_missing"
}
~~~
###### 路线重复
~~~
status: 409
error: {
code: 10020,
message: "workers.api.error.duplicate_route"
}
~~~
###### 内部错误
~~~
status: 500
error: {
code: 10013,
message: "workers.api.error.unknown"
}
~~~
## 删除
`DELETE zones/:zone_id/workers/routes/:route_id`
##### 样品申请:
~~~sh
curl -X DELETE "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/workers/routes/$ROUTE_ID" \
-H "Authorization: Bearer $CF_API_TOKEN"
~~~
##### 样本响应:
~~~
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "9a7806061c88ada191ed06f989cc3dac"
}
}
~~~
#### 请求
##### URL参数
* `zone_id`:与您要为其添加路线的区域相关联的标识符。[查找您的Cloudflare区域ID](https://developers.cloudflare.com/workers/quickstart/#configure)
* `route_id`:正在更新的[路由对象](https://developers.cloudflare.com/workers/tooling/api/routes/#object-specification)的ID。
##### 标头
[查找您的身份验证信息](https://developers.cloudflare.com/workers/quickstart/#configure)
* `Authorization`
##### 有效载荷(无)
#### 响应
##### 身体
* `success`:布尔值
* `result`:已删除脚本的[路由对象](https://developers.cloudflare.com/workers/tooling/api/routes/#object-specification)。仅包含路线标签。如果成功为假,则为空
* `errors`:[错误对象](https://developers.cloudflare.com/workers/tooling/api/requests#error-object)数组。如果成功为真,则为空
* `messages`:字符串数组(未使用)
##### 失误
###### 缺少帐户/区域标识符
~~~
status: 404
error: {
code: 10005,
message: "workers.api.error.not_found"
}
~~~
###### 找不到路线
~~~
status: 404
error: {
code: 10005,
message: "workers.api.error.not_found"
}
~~~
###### 内部错误
~~~
status: 500
error: {
code: 10013,
message: "workers.api.error.unknown"
}
~~~
- 关于本翻译文档
- 快速开始
- 模版库
- 讲解
- Workers页面
- 从0开始
- 从已有页面开始
- 从已有Worder开始
- 工具
- Cli工具 wrangler
- 安装
- 指令
- 配置
- 环境
- Webpack
- 密钥
- KV
- 网站
- Playground
- ServerLess插件
- Terraform
- REST API
- Making Requests
- Scripts
- Bindings
- Routes
- Integrations
- 相关
- 工作原理
- 安全
- 使用缓存
- 价格
- Routes
- Limits
- 提示
- 调试技巧
- 调试header
- FetchEvent生命周期
- 请求上下文
- 请求sign
- 参考
- runtime API
- Web Standards
- fetch
- fetchEvent
- Response
- Request
- KV
- Environment Variables
- Streams
- Encoding
- Web Crypto
- Cache API
- HTMLRewriter
- Workers KV
- Use cases
- Namespaces
