gpt4 book ai didi

ASP.NET CORE 2.1 FromRoute 和 FromBody 模型绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 18:28:09 25 4
gpt4 key购买 nike

我在 building web APIs 上阅读了 Microsoft 的文档,但是除了开发自定义模型绑定(bind)器之外,我没有看到有关如何合并路由和主体参数的示例。我相信我遗漏了一些东西,因为开发自定义模型绑定(bind)器似乎对于这项常见任务来说太过分了。如何告诉我的应用程序从路由参数和正文有效负载创建模型?

Request:
PUT /business/f8e5cf33-40b1-4b8e-8280-b1b60a459154
{"name": "MyBusiness", "street": "123 Main Street"}

Response:
400
{"Id": ["'Id' must not be empty."]}

// BusinessController
[Route("business/{id}")]
[ApiController]
public class BusinessController : Controller {
[HttpPut]
[ProducesResponseType(400)]
public ActionResult PutAsync(BusinessModel business) {
...
}
}

// BusinessModel
class BusinessModel {
// The `[FromRoute]` annotation has no affect
public Guid Id { get; set; }
public string Name { get; set; }
public string Street { get; set; }
}

最佳答案

您可以在参数部分分隔两个标签。

   // BusinessController
[Route("business/{id}")]
[ApiController]
public class BusinessController : Controller {
[HttpPut]
[ProducesResponseType(400)]
public ActionResult PutAsync([FromBody]BusinessModel business, [FromRoute] int id) {
...
}
}

然后将该 id 分配给模型,如果它是模型的一部分。

关于ASP.NET CORE 2.1 FromRoute 和 FromBody 模型绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54255492/

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