.net core web api请求方式与传递参数
电脑版发表于:2021/6/2 10:54
前言
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顾名思义,就是执行相应的删除操作,配合数据库进行相应的删除动作。