菜的像徐坤
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

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

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

前言

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

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

//路由传参
[HttpGet("{id}")]
public string Get(int id)
        {
            return "value";
        }

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

post传参数

//post传参
public void Post([FromBody] string value)
        {
         
        }

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

put传参数

[HttpPut("{id}")]
        public void Put(int id, [FromBody] string value)
        {
        }

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

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

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

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

delete请求

[HttpDelete("{id}")]
        public void Delete(int id)
        {
        }

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

评价