菜的像徐坤
排名
7
文章
192
粉丝
15
评论
16
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

.net core web api请求方式与传递参数

7849人阅读 2021/6/2 10:54 总访问:1018356 评论:0 收藏:0 手机
分类: .net core

前言

Web API是网络应用程序接口。.
包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用
根据不同的请求方式,与参数,决定调用哪个接口

get传参数(地址栏问号传参)

  1. //路由传参
  2. [HttpGet("{id}")]
  3. public string Get(int id)
  4.         {
  5.             return "value";
  6.         }

地址栏与路由传参的区别
地址栏 :localhost:65452/home/index?id=2
路由传参:localhost:65452/home/index/

post传参数

  1. //post传参
  2. public void Post([FromBody] string value)
  3.         {
  4.          
  5.         }

[FromBody]: 传递json数据,Content-Type需要设置为application/json
[FromForm]:传递非json数据   不需要设置 Content-Type

put传参数

  1. [HttpPut("{id}")]
  2.         public void Put(int id, [FromBody] string value)
  3.         {
  4.         }

put请求专注于update操作,但是与之相关的是还有一个patch请求,两者虽然都专注于update操作,但是前者是全局而言,后者是局限于某一条件或者范围而言
put请求需要注意的是,虽然和post请求都是执行的改变动作,但是它所采用的参数传递需要用到query格式,否则是拿不到前台传递的参数,通俗的说就是参数为null.

传递参数与POST类似
POST 与PUT的区别
put 同样的请求,前一条会被后一条覆盖
更新一条记录建议使用PUT
新建一条记录建议使用POST 

多个参数进行传递的话,可以考虑使用JObject(注意版本问题,不要太低了)

  1. [HttpPost]
  2. public void Post(JObject jsonObject)
  3. {
  4.     //把jsonObject反序列化成dynamic
  5.     string jsonStr = JsonConvert.SerializeObject(jsonObject);
  6.     //将json对象转换成动态对象
  7.     var jsonParams = JsonConvert.DeserializeObject<dynamic>(jsonStr);
  8.     //解析dynamic里边的数据
  9.     string name= jsonParams.name;
  10.    
  11. }

delete请求

  1. [HttpDelete("{id}")]
  2.         public void Delete(int id)
  3.         {
  4.         }

Delete顾名思义,就是执行相应的删除操作,配合数据库进行相应的删除动作。

评价