Итак, я следую этому уроку и следую за ним, слово в слово:
https://medium.com/@kaushiksamanta23 / nest- js -tutorial-series-part-1-Введение-Setup-c87ba810ea9e
Итак, у меня есть это в моем служебном файле:
getCourse(courseId): Promise<any> {
let id = Number(courseId);
return new Promise(resolve => {
const course = this.courses.find(course => course.id === id);
if (!course) {
throw new HttpException('Course does not exist', 404)
}
resolve(course);
});
}
и это в моем контроллере, точно так же, как в учебнике, за исключением журнала:
@Get(':courseId')
async getCourse(@Param('courseId') courseId) {
console.log(courseId)
const course = await this.coursesService.getCourse(courseId);
return course;
}
В POSTMAN, при вызове http://localhost: 3000 / courses / courseId = 3 , я получаю «сообщение»: «Курс не существует»
Журнал четко показывает проблема:
{ courseId: 'courseId=3' }
Поэтому, когда я пытаюсь http://localhost: 3000 / курсы / 3 , вместо этого это работает, но это не правильный путь.
Я потерян здесь мой код идентичен коду в учебнике, и я подумал, что цель @Param ('courseId') в том, чтобы распознать строку 'courseId' в качестве ключа и получить любое значение после '=' в URL. Если так, почему я получаю 'courseId = 3'? Конечно, я не должен анализировать строку вручную.