JsonProperty(Order = X)] 不适用于 [FromBody] 和 [FromRoute]
JsonProperty(Order = X)] is not working with [FromBody] and [FromRoute]
在序列化版本中,它returns请求作为最后一个对象,即使我先订购了它。有没有办法设置请求顺序1?
有没有类似的,FromBody永远在最后?
public class Class1
{
[FromRoute(Name = "runId")]
[JsonProperty(Order = 2)]
public string Id { get; set; }
[FromBody]
[JsonProperty(Order = 1)]
public Request Request { get; set; }
}
Class1的模型绑定顺序是由模型中属性的顺序决定的,而不是由[FromRoute]
或[FromBody]
决定的。所以如果你想先绑定[FromBody]
,你可以喜欢 this.Here 是一个演示:
public class Class1
{
[FromBody]
public Sample Sample { get; set; }
[FromRoute(Name = "runId")]
public int Id { get; set; }
}
public class Sample
{
public int Foo { get; set; }
public string Name { get; set; }
}
控制器:
[HttpPost("Create/{runId}")]
public IActionResult Create(Class1 partner) {
return Ok();
}
结果:
在序列化版本中,它returns请求作为最后一个对象,即使我先订购了它。有没有办法设置请求顺序1?
有没有类似的,FromBody永远在最后?
public class Class1
{
[FromRoute(Name = "runId")]
[JsonProperty(Order = 2)]
public string Id { get; set; }
[FromBody]
[JsonProperty(Order = 1)]
public Request Request { get; set; }
}
Class1的模型绑定顺序是由模型中属性的顺序决定的,而不是由[FromRoute]
或[FromBody]
决定的。所以如果你想先绑定[FromBody]
,你可以喜欢 this.Here 是一个演示:
public class Class1
{
[FromBody]
public Sample Sample { get; set; }
[FromRoute(Name = "runId")]
public int Id { get; set; }
}
public class Sample
{
public int Foo { get; set; }
public string Name { get; set; }
}
控制器:
[HttpPost("Create/{runId}")]
public IActionResult Create(Class1 partner) {
return Ok();
}
结果: