4
익스프레스 (body-parser 미들웨어 사용)의 요청 본문에서 인터페이스로 캐스트하려고하지만 작동하지 않습니다. 이 작업을 수행 할 수 있습니까?TypeScript의 인터페이스 객체에 캐스트 캐스트
@Post()
addToDo(@Response() res, @Request() req) {
const toDo: IToDoDto = <IToDoDto> req.body;
this.toDoService.addToDo(toDo);
return res.status(HttpStatus.CREATED).end();
}
그리고 마지막으로, 서비스 메서드 호출되는 것 :
export interface IToDoDto {
description: string;
status: boolean;
};
이 내가 캐스트를 할 노력하고있어 코드입니다 :
이
내 인터페이스public addToDo(toDo: IToDoDto): void {
toDo.id = this.idCounter;
this.todos.push(toDo);
this.idCounter++;
}
모든 인수를 전달할 수 있으며 정상적으로 작동합니다. 나는 TypeScript에서 casting하지만 Type Assertion이 존재하지 않는다는 것을 읽었습니다. 그래서 컴파일러에게 객체 타입이 x라는 것을 알려줄 것입니다. 그리고 이것을하는 방법은 무엇입니까? 감사.
"작동하지 않는다"고 정의하십시오. 정확 해. 오류가 있습니까? 어느 것? 컴파일 타임에? 런타임시에? 무슨 일이야? –
런타임에 코드는 내가 통과 한 객체와 함께 정상적으로 실행됩니다. –
당신이 무엇을 요구하는지 분명하지 않다 –