ONES开放平台-怎么注册一个get类型请求的接口,可以直接通过url访问?

ONES开放平台-怎么注册一个get类型请求的接口,可以直接通过url访问?

获取get接口注册方式

阅读 643
1 个回答

注册接口有三种方式:

第一种:addition,通过addition方式添加插件级别的接口。

第1步:注册接口,在插件配置文件中声明接口。

config/plugin.yaml
apis:
  - type: addition #接口类型:addition:新增
    methods: #接口请求方法
      - POST
    url: /hello #自定义url
    function: hello #名称与代码里的函数名保持一致

第2步:实现处理函数,编写接口注册时配置的处理函数。

backend/src/index.ts
import { Logger } from '@ones-op/node-logger'

//需要导入的依赖依赖包

//addition 注册的接口对应方法
export async function hello(request: PluginRequest): Promise<PluginResponse> {
  const body = request.body || {}
  Logger.info('[Plugin] hello ======= 请求成功')
  return {
    body: {
      res: 'hello world',
      requestBody: body,
    },
  }
}

第3步:请求,代码请求参数示例
请求通过addition方式注册的接口时,需携带Ones-Check-Point、Ones-Plugin-Id和Ones-Check-Id 三个请求头参数

curl --location --request POST 'https://yourhost/hello' \
--header 'Content-Type: application/json;charset=utf-8' \
--header 'Ones-Check-Point: team' \
--header 'Ones-Plugin-Id: {plugin_instance_uuid}' \
--header 'Ones-Check-Id: {team_uuid}' \
--data ''

第二种:external,通过external方式添加团队级别的接口,以该方式添加的接口路径必须以/team/:teamUUID为前缀。
第1步:注册接口,在插件配置文件中声明接口。

config/plugin.yaml
apis:
  - type: external #external新增(团队级别的接口)
    methods:
      - POST
    url: /team/:teamUUID/hello1
    function: hello1

第2步:实现处理函数,编写接口注册时配置的处理函数。

backend/src/index.ts
import { Logger } from '@ones-op/node-logger'

//需要导入的依赖依赖包

// external 注册的接口对应方法
export async function hello1(request: PluginRequest): Promise<PluginResponse> {
  const body = request.body || {}
  Logger.info('[Plugin] hello1 ======= 请求成功')
  return {
    body: {
      res: 'hello world1',
      requestBody: body,
    },
  }
}

第三步:请求,使用 curl 工具进行访问,以/team/:teamUUID/hello1接口为例

curl --location --request POST 'https://yourhost/team/:teamUUID/hello1' \
--header 'Content-Type: application/json;charset=utf-8' \
--data ''

第三种:

如果拿不到,目前暂时只能通过托管独立应用的方式来暴露一个get接口
https://developer.ones.com/zh-CN/docs/abilities/basic/Indepen...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进