The documentation you are viewing is for Dapr v1.7 which is an older version of Dapr. For up-to-date documentation, see the latest version.
HTTP 绑定规范
HTTP 绑定组件的详细文档
	设置 Dapr 组件
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: <NAME>
  namespace: <NAMESPACE>
spec:
  type: bindings.http
  version: v1
  metadata:
  - name: url
    value: http://something.com
元数据字段规范
| 字段 | 必填 | 绑定支持 | 详情 | Example | 
|---|---|---|---|---|
| url | Y | 输出 | 要调用的 HTTP 终点的 base URL | http://host:port/path,http://myservice:8000/customers | 
绑定支持
此组件支持以下 HTTP 方法/谓词 输出绑定 :
- create: 为了向后的兼容,并被当作一个 post 请求处理
- get: 读数据或者记录
- head: 连接服务器但不返回响应正文
- post: 通常用于创建记录或发送命令
- put: 更新数据或者记录
- patch: 有时用于更新记录的字段子集
- 删除: 删除数据或者记录
- options: 请求提供关于可用通信选项的信息(不常用)
- trace:用于调用请求消息的远程应用程序层回路(不常用)
请求
请求格式
以上所有操作都支持以下元数据字段
| 字段 | 必填 | 详情 | Example | 
|---|---|---|---|
| path | N | 追加到 base URL的路径。 用于访问特定的URI | "/1234","/search?lastName=Jones" | 
| Headers* | N | 任何第一字母为大写字母的字段均作为请求头发送 | "Content-Type","Accept" | 
检索数据
要从 HTTP 终结点检索数据,请使用 GET 方法和以下 JSON 的 HTTP 绑定:
{
  "operation": "get"
}
可以指定 URI :
{
  "operation": "get",
  "metadata": {
    "path": "/things/1234"
  }
}
响应
响应正文包含 HTTP 终结点返回的数据。  data 字段包含一个 HTTP 响应实体作为字节数组(通过curl Base64 编码). metadata 字段含有:
| 字段 | 必填 | 详情 | Example | 
|---|---|---|---|
| statusCode | Y | HTTP 状态代码 | 200,404,503 | 
| status | Y | 状态说明 | "200 OK","201 Created" | 
| Headers* | N | 任何第一字母为大写字母的字段均作为请求头 | "Content-Type" | 
Example
请求 base URL
curl -d "{ \"operation\": \"get\" }" \
      http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
curl -d '{ "operation": "get" }' \
      http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
请求特定路径
curl -d "{ \"operation\": \"get\", \"metadata\": { \"path\": \"/things/1234\" } }" \
      http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
curl -d '{ "operation": "get", "metadata": { "path": "/things/1234" } }' \
      http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
发送和更新数据
要将数据发送到 HTTP 终结点,请调用带有 POST的 HTTP 绑定, PUT,或 PATCH 方法和以下 JSON 正文:
Note
以大写字母开头的任何元数据字段都作为请求头传递。 例如,默认 content type 是application/json; charset=utf-8. 这可以设置 Content-Type 元数据字段来覆盖。
{
  "operation": "post",
  "data": "content (default is JSON)",
  "metadata": {
    "path": "/things",
    "Content-Type": "application/json; charset=utf-8"
  }
}
Example
发布新记录
curl -d "{ \"operation\": \"post\", \"data\": \"YOUR_BASE_64_CONTENT\", \"metadata\": { \"path\": \"/things\" } }" \
      http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
curl -d '{ "operation": "post", "data": "YOUR_BASE_64_CONTENT", "metadata": { "path": "/things" } }' \
      http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
相关链接
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.