![](/img/trans.png)
[英]Unable to call API Post Method that has a class parameter with [FromBody] attribute in asp.net core mvc
[英].net core controllers - Add [FromBody] attribute to method or not?
我正在开发小型 Web 应用程序,当涉及到控制器/端点时,我看到很多人在方法参数中添加[FromBody]
属性,而有些则没有。
我不明白有什么意义?
这是示例:
public async Task<ActionResult> UploadImages([FromBody] ProductImagesRequestDto productImagesRequestDto)
vs
public async Task<ActionResult> UploadImages(ProductImagesRequestDto productImagesRequestDto)
这个端点是一样的吗?
如果有任何...,这两种方法定义有什么区别?
谢谢大家
干杯
不,他们不是。 当您提供活页夹时,您是在说将活页夹建模为明确的查找位置和查找内容:
FromRoute
绑定路由数据中的值FromBody
绑定来自请求正文的值FromQuery
绑定来自查询字符串的值FromForm
绑定表单域中的值FromHeader
绑定来自标题的值如果您不提供任何活页夹,您将掌握模型活页夹的默认行为。 它将在默认可用的活页夹中搜索以匹配操作参数。 如果它不能匹配,就会出现模型状态错误或内容类型错误,如果它被称为使用FromBody
绑定器,并且例如,帖子数据已使用x-www-form-urlencoded
。
参数可以通过 URI 传递或作为请求正文的一部分传递。
指定 FromBody 属性只是确保参数作为请求正文的一部分而不是在 URI 中传递。
根据传递的参数类型(以及该数据的敏感程度),将所有参数包含在请求正文中以使其在 URI 中不可见可能被认为是最佳实践
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.