Skip to content

Commit

Permalink
docs: update public API relative usage (#6318)
Browse files Browse the repository at this point in the history
Co-authored-by: 琚致远 <juzhiyuan@apache.org>
  • Loading branch information
bzp2010 and juzhiyuan authored Feb 22, 2022
1 parent 1c6b473 commit ecf08c6
Show file tree
Hide file tree
Showing 8 changed files with 136 additions and 26 deletions.
36 changes: 24 additions & 12 deletions docs/en/latest/plugins/batch-requests.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,23 +118,35 @@ Response is `Array` of [HttpResponse](#httpresponse).

## How to specify custom uri

We can change the default uri in the `plugin_attr` section of `conf/config.yaml`.
We have the [public-api](public-api.md) plugin, customizing the uri becomes even easier. We just need to set the `uri` you want when creating the route and change the configuration of the `public-api` plugin.

| Name | Type | Requirement | Default | Description |
| ---------- | ------ |-------------| ---------------------------- | --------------------------------- |
| uri | string | optional | "/apisix/batch-requests" | uri to use with batch-requests plugin |

Here is an example:

```yaml
plugin_attr:
batch-requests:
uri: "/api-gw/batch"
```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/br -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/batch-requests",
"plugins": {
"public-api": {
"uri": "/apisix/batch-requests"
}
}
}'
```

## Test Plugin

You can pass your request detail to batch API( `/apisix/batch-requests` ), `apisix` can automatically complete requests via [http pipeline](https://en.wikipedia.org/wiki/HTTP_pipelining). Such as:
First you need to setup the route for the API that batch request, which will use the [public-api](public-api.md) plugin.

```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/br -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/apisix/batch-requests",
"plugins": {
"public-api": {}
}
}'
```

Then, you can pass your request detail to batch API(`/apisix/batch-requests`), APISIX can automatically complete requests via [http pipeline](https://en.wikipedia.org/wiki/HTTP_pipelining). Such as:

```shell
curl --location --request POST 'http://127.0.0.1:9080/apisix/batch-requests' \
Expand Down
14 changes: 14 additions & 0 deletions docs/en/latest/plugins/jwt-auth.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,20 @@ then add jwt-auth plugin in the Consumer page:

#### Get the Token in `jwt-auth` Plugin:

First, you need to set up the route for the API that signs the token, which will use the [public-api](public-api.md) plugin.

```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/jas -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/apisix/plugin/jwt/sign",
"plugins": {
"public-api": {}
}
}'
```

Let's get a token.

* without extension payload:

```shell
Expand Down
18 changes: 17 additions & 1 deletion docs/en/latest/plugins/node-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,17 @@ plugins: # plugin list
......
```

After starting `APISIX`, you can get status information through the API `/apisix/status`.
2. Setup the route for the status API, which will use the [public-api](public-api.md) plugin.

```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/ns -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/apisix/status",
"plugins": {
"public-api": {}
}
}'
```

## Test Plugin

Expand Down Expand Up @@ -121,3 +131,9 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f
"plugins": {}
}'
```

3. You can also remove the route on `/apisix/status`, no one can access the API.

```sh
$ curl http://127.0.0.1:9080/apisix/admin/routes/ns -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X DELETE
```
16 changes: 16 additions & 0 deletions docs/en/latest/plugins/wolf-rbac.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,22 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f1

## Test Plugin

#### Setup routes for public API

Use the `public-api` plugin to expose the public API.

```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/wal -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/apisix/plugin/wolf-rbac/login",
"plugins": {
"public-api": {}
}
}'
```

You also need to setup the `change_pwd` and `user_info` routes together.

#### Login and get `wolf-rbac` token:

The following `appid`, `username`, and `password` must be real ones in the wolf system.
Expand Down
36 changes: 24 additions & 12 deletions docs/zh/latest/plugins/batch-requests.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,23 +122,35 @@ curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/batch-requests -H 'X-API

## 如何修改自定义 uri

我们可以在 `conf/config.yaml``plugin_attr` 配置项中修改默认的 `uri`
我们可以使用 [public-api](../../../en/latest/plugins/public-api.md) 插件轻易的设置自定义 uri。只需要在创建路由时设置需要的 uri 并改变 `public-api` 插件的配置即可。

| 名称 | 类型 | 必选项 | 默认值 | 描述 |
| --------- | ------ | ------ | ---------------------------- | -------------- |
| uri | string | 可选 |"/apisix/batch-requests" | `batch-requests` 插件的自定义 uri |

配置示例:

```yaml
plugin_attr:
batch-requests:
uri: "/api-gw/batch"
```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/br -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/batch-requests",
"plugins": {
"public-api": {
"uri": "/apisix/batch-requests"
}
}
}'
```

## 测试插件

你可以将要访问的请求信息传到网关的批量请求接口( `/apisix/batch-requests` ),网关会以 [http pipeline](https://en.wikipedia.org/wiki/HTTP_pipelining) 的方式自动帮你完成请求。
首先,你需要为 batch request 的 API 设置一个路由,它将使用 [public-api](../../../en/latest/plugins/public-api.md) 插件。

```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/br -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/apisix/batch-requests",
"plugins": {
"public-api": {}
}
}'
```

之后,你就可以将要访问的请求信息传到网关的批量请求接口( `/apisix/batch-requests` )了,网关会以 [http pipeline](https://en.wikipedia.org/wiki/HTTP_pipelining) 的方式自动帮你完成请求。

```shell
curl --location --request POST 'http://127.0.0.1:9080/apisix/batch-requests' \
Expand Down
14 changes: 14 additions & 0 deletions docs/zh/latest/plugins/jwt-auth.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,20 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f13

#### 首先进行登录获取 `jwt-auth` token:

首先,你需要为签发 token 的 API 设置一个路由,它将使用 [public-api](../../../en/latest/plugins/public-api.md) 插件。

```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/jas -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/apisix/plugin/jwt/sign",
"plugins": {
"public-api": {}
}
}'
```

之后,我们就可以调用它获取 token 了。

* 没有额外的 payload:

```shell
Expand Down
12 changes: 11 additions & 1 deletion docs/zh/latest/plugins/node-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,17 @@ plugins: # plugin list
......
```

启动 `APISIX` 之后,即可访问该插件提供的接口,获得基本的状态信息。
2. 为状态 API 配置路由,它将使用 [public-api](../../../en/latest/plugins/public-api.md) 插件。

```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/ns -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/apisix/status",
"plugins": {
"public-api": {}
}
}'
```

## 测试插件

Expand Down
16 changes: 16 additions & 0 deletions docs/zh/latest/plugins/wolf-rbac.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,22 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f1

## 测试插件

#### 为 API 设置路由

我们使用 [public-api](../../../en/latest/plugins/public-api.md) 插件来暴露这些 public API.

```shell
$ curl http://127.0.0.1:9080/apisix/admin/routes/wal -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"uri": "/apisix/plugin/wolf-rbac/login",
"plugins": {
"public-api": {}
}
}'
```

你也需要为 `change_pwd``user_info` 两个 API 配置路由。

#### 首先进行登录获取 `wolf-rbac` token:

下面的 `appid`, `username`, `password` 必须为 wolf 系统中真实存在的.
Expand Down

0 comments on commit ecf08c6

Please sign in to comment.