.net webapi 接收参数_ASP.NET (Core)WebApi参数传递实操演练

997897c3022a2edb61ee04e27d66693a.png

一、ASP.NET (Core)WebApi参数传递实操演练

1、什么是contentType和dataType?

$.ajax contentType 和 dataType , contentType 主要设置你发送给服务器的格式,dataType设置你收到服务器数据的格式。

更简单的解释:
contentType: 告诉服务器,我要发什么类型的数据。
dataType:告诉服务器,我要想什么类型的数据。

在http 请求中,get 和 post 是最常用的。在 jquery 的 ajax 中, contentType都是默认的值:application/x-www-form-urlencoded,这种格式的特点就是,name/value 成为一组,每组之间用 & 联接,而 name与value 则是使用 = 连接。如:wwwh.baidu.com/q?key=fdsa&lang=zh 这是get , 而 post 请求则是使用请求体,参数不在 url 中,在请求体中的参数表现形式也是: key=fdsa&lang=zh的形式。

键值对这样组织在一般的情况下是没有什么问题的,这里说的一般是,不带嵌套类型JSON,也就是 简单的JSON,形如这样:

{a:1,b:2,c:3}

但是在一些复杂的情况下就有问题了。例如在 ajax 中你要传一个复杂的 json 对像,也就说是对象嵌数组,数组中包括对象,如果你这样传:

{data: {a: [{x:2}]  }}

这个复杂对象, application/x-www-form-urlencoded 这种形式是没有办法将复杂的 JSON 组织成键值对形式(当然也有方案这点可以参考) ,你传进去可以发送请求,但是服务端收到数据为空, 因为 aj

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET WebAPI ,我们可以通过多种方式接收参数。以下是其一些常用的方式: 1. 通过 URI 的查询字符串传递参数 我们可以使用 [FromUri] 特性来获取从 URI 传递参数。例如,以下代码演示了如何通过查询字符串传递参数: ```csharp public IHttpActionResult Get([FromUri] string name, [FromUri] int age) { // 处理参数 } ``` 在这个例子,我们使用 [FromUri] 特性将 name 和 age 参数标记为从 URI 获取。如果我们发出 GET 请求 `http://example.com/api/person?name=John&age=30`,那么 WebAPI 将正确地将 name 和 age 参数设置为 "John" 和 30。 2. 通过请求正文传递参数 我们可以使用 [FromBody] 特性将参数绑定到请求正文的数据。例如,以下代码演示了如何使用 [FromBody] 特性传递一个自定义对象: ```csharp public IHttpActionResult Post([FromBody] Person person) { // 处理 person 对象 } ``` 在这个例子,我们使用 [FromBody] 特性将 person 参数标记为从请求正文获取。如果我们发送一个 POST 请求,并将以下 JSON 数据作为请求正文发送: ```json { "Name": "John", "Age": 30 } ``` 那么 WebAPI 将正确地将 person 对象设置为一个名为 "John" 年龄为 30 的 person 对象。 3. 通过请求头传递参数 我们可以使用 [FromHeader] 特性将参数绑定到请求头。例如,以下代码演示了如何使用 [FromHeader] 特性传递一个字符串参数: ```csharp public IHttpActionResult Get([FromHeader] string authToken) { // 处理 authToken } ``` 在这个例子,我们使用 [FromHeader] 特性将 authToken 参数标记为从请求头获取。如果我们发送一个 GET 请求,并将以下请求头包含在其: ``` authToken: 123456 ``` 那么 WebAPI 将正确地将 authToken 参数设置为 "123456"。 以上是 .NET WebAPI 接收参数的一些常用方式,但还有其他方式可以使用。根据不同的场景和需求,我们可以使用不同的方式来接收参数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值