0

Angular から次の URL を送信します。

http://localhost:3000/api/skills?category_id=2

問題は、category_id が 2 のすべてのスキルを取得するようにコードを修正するにはどうすればよいかということです。

skill_id を探しているわけではありません。個々のスキルを問題なく取得できます。レコードは次のようになります。

skill_id
skill_name
category_id

skill.controller にはこれがあります。@Get パラメータを試してみましたが、まだこの関数を呼び出すことができません。Console.log が呼び出されることはありません。また、category_id が 2 または必要な番号を持つすべてのスキル レコードが必要であることをサービスに伝える方法がわかりません。

  @Get('?category_id')
  public async getSkillsByCategory(@Param('category_id') categoryId) {
    console.log('skills recordId in controller: ', categoryId.id);
    return this.skillsService.getSkillsByCategory(categoryId.id);
  }

skill.service にはこれがありますが、データベース (Postgres) に category_id 2 をクエリするように指示していません。何らかの方法でそれを行う必要がありますが、category_id 列は通常のパラメーターではないようです。

  async getSkillsByCategory(categoryId) {
    console.log('categoryId in service', categoryId);
    return await this.skillsRepository.find(categoryId);
  }
4

1 に答える 1