docs: update public API relative usage (#6318)

Co-authored-by: 琚致远 <juzhiyuan@apache.org>
This commit is contained in:
Zeping Bai 2022-02-22 12:00:20 +08:00 committed by GitHub
parent 1c6b47354a
commit ecf08c6dd5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 136 additions and 26 deletions

View File

@ -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' \

View File

@ -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

View File

@ -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
```

View File

@ -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.

View File

@ -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' \

View File

@ -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

View File

@ -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": {}
}
}'
```
## 测试插件

View File

@ -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 系统中真实存在的.