cool 中的node.js 实现一个处理第三方Api 数据的处理

文章讨论了在开发中遇到接口需求无法直接提供所需数据时,如何通过coolNode.js框架的controller和服务层进行逻辑处理,整合第三方Api资源以满足前端需求。作者以一个实际示例展示了如何在缺少特定接口的情况下实现数据获取和处理。
摘要由CSDN通过智能技术生成

1.需求

    你现在是一个后端 前端跟你要一个接口 ,但是你发现 你这个接口 除了调用第三方Api的接口 有的数据还是没有 你直接返回 前端使用不了 因为都没有关于那样的数据 但是三方Api 中有其他的接口和现在的接口 经过处理 是可以实现这个前端需要的数据。遇到这样的情况 cool Node.js框架,其实是和Java 中的sping boot是相似的。都是由controller 和 service

    我认为所有的后端框架 目前都类似 只要不是写基础的代码 基本的逻辑都一样

java php cool go  在现在现代框架的基础上 框架的基本逻辑都一样 写法不一样而已

2.实现 

controller代码

现在你看到的是一个接口 我的post 是封装了一个 方法 所以调用直接就相当于发起了post请求 向三方Api 经过处理这样可以获取到数据

肯定我的代码你们不能使用 但是我是想告诉你们基本的逻辑 在三方API 没有对应的接口的情况下 我们只能暂时这样处理 

  @Get('/FilmDate', { summary: '获取这个影片在城市下的所有有排期的日期数组' })
  async FilmDateList(@Query() query) {
    const url = '/api/xxx/xxx/cinemaShowList';
    const cinemaListUrl = '/api/xxx/xxx/cinemaList';
    try {
      let cinemaInfo = {
        currentPage: 1,
        pageSize: 99,
        filmId: query.filmId,
        areaId: query.areaCode,
      };
      const allCinemaList = await this.mangoRequestService.post(
        cinemaListUrl,
        cinemaInfo
      );
      if (!allCinemaList.list.length) {
        return this.ok([]);
      }
      const aggrementList = await this.mangoRequestService.post(url, {
        filmId: query.filmId,
        cinemaId: allCinemaList.list[0].id,
      });
      let date = [];
      aggrementList?.forEach(item => {
        if (item.showDate) {
          date.push(item.showDate);
        }
      });

      return this.ok([...new Set(date)]);

      // const MovieList = await this.getList(query);
      // console.log(MovieList, 'MovieList');
    } catch (error) {
      throw new CoolCommException(error.message);
    }
  }

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常抱歉再次给你带来困扰。如果在 cool-admin for node 项目没有 `app.js`、`server.js` 或 `index.js` 文件,则入口文件可能有所不同。通常情况下,cool-admin for node 项目的入口文件是 `bin/www`。 你可以按照以下步骤来设置 Swagger 的路径并在启动时打印路径到终端: 1. 在项目根目录下找到 `bin/www` 文件。 2. 在 `bin/www` 文件找到 `var app = require('../app');` 这一行代码。 3. 在该行代码下方添加以下代码来设置 Swagger 的路径和打印路径的逻辑。示例如下: ```javascript // bin/www var app = require('../app'); // 设置 Swagger 的路径 const swaggerPath = '/api-docs'; // 打印 Swagger 路径到终端 console.log(`Swagger 页面路径: ${swaggerPath}`); // 在此处可以进行其他间件和路由的配置 // ... ``` 在上述示例,我们设置了 Swagger 的路径为 `/api-docs`,然后使用 `console.log` 打印该路径到终端。 4. 启动 cool-admin for node 项目,你将在终端看到类似以下的输出: ``` Swagger 页面路径: /api-docs ``` 这样,你成功设置了 cool-admin for node 项目 Swagger 的路径,并在启动时将路径打印到终端。你可以根据需要自定义 Swagger 的路径,并根据输出的路径在浏览器访问 Swagger API 页面。请注意,这只是一个示例,实际项目可能还需要进行其他配置和逻辑的处理。再次对之前的错误答案表示诚挚的道歉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值