diff --git a/docs/en/latest/plugins/batch-requests.md b/docs/en/latest/plugins/batch-requests.md index f397765aef5a..81f0c4e18fb5 100644 --- a/docs/en/latest/plugins/batch-requests.md +++ b/docs/en/latest/plugins/batch-requests.md @@ -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' \ diff --git a/docs/en/latest/plugins/jwt-auth.md b/docs/en/latest/plugins/jwt-auth.md index e23653e86ab5..cd5b82672197 100644 --- a/docs/en/latest/plugins/jwt-auth.md +++ b/docs/en/latest/plugins/jwt-auth.md @@ -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 diff --git a/docs/en/latest/plugins/node-status.md b/docs/en/latest/plugins/node-status.md index d70f7389948f..0636c2b800bc 100644 --- a/docs/en/latest/plugins/node-status.md +++ b/docs/en/latest/plugins/node-status.md @@ -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 @@ -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 +``` diff --git a/docs/en/latest/plugins/wolf-rbac.md b/docs/en/latest/plugins/wolf-rbac.md index eef6e3afbe44..1b91a7836eae 100644 --- a/docs/en/latest/plugins/wolf-rbac.md +++ b/docs/en/latest/plugins/wolf-rbac.md @@ -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. diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json index 9c700f72d34d..a74b92505f5b 100644 --- a/docs/zh/latest/config.json +++ b/docs/zh/latest/config.json @@ -117,8 +117,7 @@ "label": "Metrics", "items": [ "plugins/prometheus", - "plugins/node-status", - "plugins/datadog" + "plugins/node-status" ] }, { diff --git a/docs/zh/latest/plugins/batch-requests.md b/docs/zh/latest/plugins/batch-requests.md index bfb9876ef53e..13aa04b69a88 100644 --- a/docs/zh/latest/plugins/batch-requests.md +++ b/docs/zh/latest/plugins/batch-requests.md @@ -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' \ diff --git a/docs/zh/latest/plugins/jwt-auth.md b/docs/zh/latest/plugins/jwt-auth.md index 2ee30151bf0b..d3caff81543a 100644 --- a/docs/zh/latest/plugins/jwt-auth.md +++ b/docs/zh/latest/plugins/jwt-auth.md @@ -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 diff --git a/docs/zh/latest/plugins/node-status.md b/docs/zh/latest/plugins/node-status.md index 1901ac6b4de0..89782d0153cc 100644 --- a/docs/zh/latest/plugins/node-status.md +++ b/docs/zh/latest/plugins/node-status.md @@ -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": {} + } +}' +``` ## 测试插件 diff --git a/docs/zh/latest/plugins/wolf-rbac.md b/docs/zh/latest/plugins/wolf-rbac.md index 58d07f8af18a..4e1eededabc9 100644 --- a/docs/zh/latest/plugins/wolf-rbac.md +++ b/docs/zh/latest/plugins/wolf-rbac.md @@ -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 系统中真实存在的.