我正在构建一个控制器,它应该通过请求的主体接收一个Workflow
类型,但它不考虑JsonIgore
属性,并抛出一个模型验证错误,如下所示:
"名称字段是必填项."
当我研究斯威格的身体建议时,这是人们所期待的:
{
"schedule": "string",
}
但是,即使我在请求中显式指定了name
,它仍然抛出相同的异常.为什么?
这是我的测试设置:
public class Workflow
{
[JsonIgnore]
public string Name { get; set; }
public string Schedule { get; set; }
// ...
}
[ApiController]
[Route("api/[controller]")]
public class WorkflowsController : ControllerBase
{
[HttpPut("{workflowName}")]
public async Task<int> CreateWorkflow(string workflowName, [FromBody] Workflow workflow)
{
return await Task.FromResult(0);
}
}
我是否必须为Body创建另一个类,或者有什么方法可以修复这种奇怪的行为吗?