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

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);
    }
  }
相关推荐
看到请催我学习22 分钟前
如何实现两个标签页之间的通信
javascript·css·typescript·node.js·html5
NiNg_1_2344 小时前
npm、yarn、pnpm之间的区别
前端·npm·node.js
余生H5 小时前
前端的全栈混合之路Meteor篇:关于前后端分离及与各框架的对比
前端·javascript·node.js·全栈
Ink6 小时前
从底层看 path.resolve 实现
前端·node.js
奔跑吧邓邓子8 小时前
npm包管理深度探索:从基础到进阶全面教程!
前端·npm·node.js
知否技术20 小时前
为什么nodejs成为后端开发者的新宠?
前端·后端·node.js
谢尔登1 天前
【Node.js】worker_threads 多线程
node.js
osnet1 天前
showdoc二次开发
node.js·vue
泯泷1 天前
「生产必看」在企业环境中正确使用 Node.js 的九大原则
前端·后端·node.js
太阳火神的美丽人生1 天前
Vant WeApp 开启 NPM 遇到的问题总结
前端·npm·node.js