gpt4 book ai didi

asp.net-web-api - 自定义模型 Binder :Can't bind parameter 'xxx' because it has conflicting attributes on it

转载 作者:行者123 更新时间:2023-12-01 16:15:54 25 4
gpt4 key购买 nike

我正在使用自定义模型绑定(bind)器,以便将一些自定义逻辑放入我的模型绑定(bind)中。

这是我的 DTO:

public class TaskDto
{
public int Id { get; set; }

[MaxLength(100), Required]
public string Name { get; set; }

public List<StepDto> Steps { get; set; }

public List<ResourceDTO> Resources { get; set; }
}

步骤 DTO:
public class StepDto
{
public int Id { get; set; }

[MaxLength(100)]
public string Description { get; set; }

public StepType StepType { get; set; }
}

资源DTO:
public class ResourceDTO
{
public int Id { get; set; }

[MaxLength(250), Required]
public string Title { get; set; }

[Required]
public string Link { get; set; }

public string MetaTagUrl { get; set; }

[Required, Range(1, 1)]
public ResourceType ResourceType { get; set; }
}

在哪里 ResourceType是一个枚举(目前只有 1 作为值。)

我尝试使用 link 创建自定义模型绑定(bind)器.

这是我的 API 操作方法签名:
    [HttpPut]
[Route("datacapture/{activityId}/tasks")]
[Authorize]
public async Task<IHttpActionResult> UpdateAllDataCaptureActivities(int activityId, [FromBody][ModelBinder] TaskDto tasks)
{
...
}

我在调用 API 时收到以下错误:
"Message": "An error has occurred.",
"ExceptionMessage": "Can't bind parameter 'tasks' because it has conflicting attributes on it.",
"ExceptionType": "System.InvalidOperationException",

最佳答案

不要同时使用 [FromBody] 和 [ModelBinder]。

关于asp.net-web-api - 自定义模型 Binder :Can't bind parameter 'xxx' because it has conflicting attributes on it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44025247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com