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);
}