使用 Ballerina 中的拦截器组织跨多个文件的长嵌套路径

问题描述 投票:0回答:1

我正在探索 Ballerina 来构建 API,并利用其声明式风格来定义端点和服务。然而,我面临着管理长嵌套路径的挑战,如下面的结构所示:

/api/v1/ - with interceptor
    - a          GET, POST
    - a/:aId     GET, PATCH, DELETE
    - a/:aId/b   GET, POST
    - a/:aId/b/:bId  GET, PATCH, DELETE ( need an interceptor at this level )
    - a/:aId/b/:bId... goes on to 4-6 levels of nested resources
    - several top level resources similar to /api/v1/a

目前,我已将这些路径组织成多个服务文件。

我有以下问题:

  1. 服务路径是否可以添加路径参数?
  2. 服务文件可以以任何方式嵌套吗?
  3. 拦截器或装饰器可以应用于单个资源函数吗?
interceptor ballerina
1个回答
0
投票

以上三个问题的答案如下:

  1. Ballerina 不支持直接向服务路径添加路径参数,我们可以灵活地将可变部分移至资源函数 URL 中。
  2. 一般来说,我们可以灵活地以嵌套方式构建您的 Ballerina 项目。请参阅组织芭蕾舞女演员代码
  3. 中提供的文档
  4. 我们可以根据服务级别的动词和路径来使用拦截器。就像express.js中的路由器一样
© www.soinside.com 2019 - 2024. All rights reserved.