首页 > 解决方案 > 模型包含接口属性未提交给 Web API 中的控制器

问题描述

在我的 Web API 应用程序中,我创建了一个模型,它具有三种属性类型的接口。现在来自我的客户,当我提交模型时,它没有命中控制器方法。如果我打开网络选项卡,我会发现一些错误。该请求是错误 (400) 请求。

模型

public class CreateNewOrganizationModel : ICreateNewRegistrationDto
    {
        [Required(ErrorMessage = "The {0} is required.")]
        public IOrganizationDetailDto OrganizationDetail { get; set; }

        [Required(ErrorMessage = "The {0} is required.")]
        public IList<IUserRoleDetailDto> UserRoleDetails { get; set; }

        [Required(ErrorMessage = "The {0} is required.")]
        public IPersonalDetailDto PersonalDetail { get; set; }
    }

网络选项卡错误

位置 223."],"UserRoleDetails[1].RoleName.1":["无法创建 CashFlow.Services.Dtos.IUserRoleDetailDto 类型的实例。类型是接口或抽象类,不能实例化。路径 'UserRoleDetails[1].RoleName',第 1 行,位置 266。"],"UserRoleDetails[2].RoleName.2":["无法创建 CashFlow.Services.Dtos.IUserRoleDetailDto 类型的实例。类型是接口或抽象类,不能实例化。路径 'UserRoleDetails[2].RoleName',第 1 行,位置 315。"],"UserRoleDetails[3].RoleName.3":["无法创建 CashFlow.Services.Dtos.IUserRoleDetailDto 类型的实例。类型是接口或抽象类,不能实例化。路径'UserRoleDetails[3].RoleName',第 1 行,位置 364。"],"UserRoleDetails[4]。RoleName.4":["无法创建 CashFlow.Services.Dtos.IUserRoleDetailDto 类型的实例。类型是接口或抽象类,不能实例化。路径'UserRoleDetails[4].RoleName',第 1 行,位置 409。"]},"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title": "出现一个或多个验证错误。","status":400,"traceId":"|ed0f56a3-4be3d5ecfa7a80e4。"}

标签: asp.net-core-webapi

解决方案


推荐阅读