格码拓普是一个专注于教育管理类、现场比赛展示类、智能办公类平台应用的研发团队。该团队采用了知识管理理念,已凝聚成一个"格调高远、码力十足"的组织。
在net core中,可以使用标记,如[FromBody]和[FromForm]等将请求的数据绑定到方法参数上。 NetCore开发师
-使用[FromBody]标记将HTTP请求的内容绑定到方法参数上。
-通常用于将JSON或XML等复杂对象的内容绑定到方法参数上。
-只能用于HTTP POST请求,因为内容是从请求体(RequestBody)中获取的。
-[FromBody]标记的参数必须具有匹配的类对象或原始的简单数据类型。
-FromBody处理前端传过来的application/json格式数据,如下:
{ "user" : "conejo", "password" : "panda" } // ContentType: application/json
示例代码
[HttpPost] public IActionResult PostData([FromBody] MyModel model) { // 将请求的JSON或XML数据绑定到MyModel参数上 // ... }
- 使用[FromForm]标记将HTTP请求的表单数据绑定到方法参数上。
- 通常用于从HTML表单提交的数据进行绑定。
- 只能用于HTTP POST请求,因为表单数据是通过请求体(RequestBody)发送的。
- [FromForm]标记的参数可以是简单数据类型(如字符串、整数等)或复杂对象。
-FromForm处理前端传过来的application/x-www-url-formencoded格式数据,如下:
user=conejo&password=panda // ContentType: application/x-www-url-formencoded
示例代码:
[HttpPost] public IActionResult PostData([FromForm] string name, [FromForm] int age) { // 将表单中的name和age参数绑定到方法参数上 // ... } [HttpPost] public IActionResult PostData([FromForm] MyModel model) { // 将请求的表单数据绑定到MyModel参数上 // ... }
-[FromRoute]属性处理“?”之前的路由参数 在URI中,即路径参数,如orders/{id}中的id
-[FromQuery]属性处理查询参数,即“?”之后的键值对 在 URI 中。
-[FromUri] 是在Webapi中用的,[FromQuery]在ASP.NET Core MVC中使用,两者是一样的作用
-[FromBody][FromForm]两者使用场景取决于前端设置content-type参数的值,其内容都是从request body内取的。
-[FromBody]用于绑定复杂对象,如JSON或XML数据。
-[FromForm]用于绑定表单数据。
-[FromBody]只能用于POST请求,[FromForm]也只能用于POST请求。[FromForm]可以绑定简单数据类型或复杂对象,而[FromBody]只能绑定复杂对象。
良好的沟通,是成功的一半
博客评论功能已关闭