因此,我有来自IoperationParam
和主体的标头的请求接口与对象数组patientList
相同,但是会引发错误PatientId无法分配给IGetSpecialtyQuestionsParam
任何想法在这里需要纠正什么?
main.interface.ts
export interface IGetSpecialtyQuestionsParam extends IOperationParam {
patientList: (ISpecialtyQuestionsEntity)[];
}
export interface ISpecialtyQuestionsEntity {
/**
* <H3>This maps to ESL patientId<H3>
*/
patientId: string;
/**
* 1982-01-10
*/
dateOfBirth: string;
/**
* Female
*/
gender: "Male"|"Female";
/**
* We can default this;
* Specialty HBS
*/
sourceSystem: string;
rxInfo?: (RxInfoEntity)[] | null;
}
export interface IOperationParam {
appName: string;
appId: string
}
最佳答案
您似乎在混淆类和接口。接口仅定义数据的形状,而不定义默认值。
您的界面应为:
export interface IOperationParam {
appName: string;
appId: string
}
export interface IGetSpecialtyQuestionsParam extends IOperationParam {
patientList: ISpecialtyQuestionsEntity[];
}
export interface ISpecialtyQuestionsEntity {
patientId: string;
dateOfBirth: string;
gender: string;
sourceSystem: string;
rxInfo?: RxInfoEntity[];
}
您指出的错误:“ ... PatientId无法分配给IGetSpecialtyQuestionsParam ...”
之所以发生这种情况,是因为
IGetSpecialtyQuestionsParam
扩展了IOperationParam
而该属性没有属性:patientId
。因此,您需要在
patientId
界面中具有IOperationParam
,或者将其添加为IGetSpecialtyQuestionsParam
界面的一部分,或者扩展一个通用界面...哪种最适合您的应用程序。