[英]Combine [FromBody] and [FromRoute] attributes in one model
我正在尝试创建 model,我可以立即将其用于 Body 和 Route。 我在这里找到了解决方案,但我想更进一步。 不使用额外的“主体”class,而是将所有内容都包含在一个 class 中。我试过了,但它不起作用。
public class Car
{
[Required, FromRoute]
public int CarId { get; set; }
[Required, FromBody]
public string UpdatedBy { get; set; }
[Required, FromBody]
public string Colour { get; set; }
[Required, FromBody]
public string Wheels { get; set; }
[Required, FromBody]
public DateTime UpdatedDate { get; set; }
}
我正在尝试将其用作 PUT 方法的输入:
public async Task<IActionResult> CarUpdate(Car car, CancellationToken cancellationToken)
但我希望它是这样的:
是否可以? 谢谢你。
不幸的是,您只能使用 FromBody 一次,您正尝试多次使用它,这就是不起作用的原因。 这看起来很尴尬,但会起作用
public async Task<IActionResult> CarUpdate(CarRoute carRoute, CancellationToken cancellationToken)
但你必须将它添加到启动
services.Configure<ApiBehaviorOptions>(options =>
{
options.SuppressInferBindingSourcesForParameters = true;
});
类
public class CarRoute
{
[FromRoute]
public int CarId { get; set; }
[FromBody]
public Car Car { get; set; }
}
public class Car
{
public int CarId { get; set; }
public string Name { get; set; }
public string Colour { get; set; }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.