【NetWebApi】接口参数传递笔记
之前没做过Api接口开发,很少了解一下东西。今天遇到了很多问题。尤其是GET,POST时候提示404,405,等问题。
场景一:POST提交一个字段给后台标记为[HttpPost]的方法:
[HttpPost][Route("SendCaptcha")]public HttpResponseMessage SendCaptchaSms([FromBody]string mobile){return CreateResponse("", new SendSmsResult() { ReturnCode = -2, Message = "手机号码为空" });}
<script>var sendsmsCaptcha = function () {var mobile = "13800138000";$.ajax({type: "POST",url: "/Mobile/Captcha/SendCaptcha",data: { "": mobile }, // 关键奇葩点就在这里,刚开始传递{"mobile":mobile}后台老是提示mobile为nulldataType: "json",success: function (data) {console.log(data);}});};
</script>
场景二:前端传递多个字段,以及一个复杂对象(比如参数个数不确定),此时用dynamic比较方便
[HttpPost][Route("SendNotifySms")]public HttpResponseMessage SendSms(dynamic dynamicData){if (dynamicData == null) return CreateResponse("参数异常", "-1");string mobile = "";List<DynamicDict> extendParams;try{mobile = Convert.ToString(dynamicData.Mobile);extendParams = JsonHelper.ToObject<List<DynamicDict>>(Convert.ToString(dynamicData.extendParams));}catch (Exception ex){LogHelper.LogErr("【SendSms】" + ex.GetBaseException());return CreateResponse("参数异常", "-1");} // 其他逻辑}
前端JS调用:
<script>
var sendsms = function () {var mobile = "13800138000";var params = [{ "Key": "DealerShopName", "Value": "火星北京路4S店" },{ "Key": "TestDriverModelName", "Value": "大黄蜂 F11战斗机" },{ "Key": "TestDriverDate", "Value": "2016年7月28日 星期四" },{ "Key": "DealerShopAddress", "Value": "火星北京路4S店9527号" },{ "Key": "AdviserNameAndPhone", "Value": "东方不败:13838389438" }];$.ajax({type: "POST",url: "/Mobile/Captcha/SendNotifySms",data: JSON.stringify({ "Mobile": mobile, "extendParams": params }),contentType: 'application/json', // 这里一定不能忘掉了 success: function (data) {console.log(data);}});};</script>
折腾了一个小时,调试了好几次,终于算吧逻辑跑通了。真是知识匮乏时间成本高啊。
发现了一篇文章写的更详细:http://www.cnblogs.com/landeanfen/p/5337072.html
转载于:https://www.cnblogs.com/hager/p/5715144.html
【NetWebApi】接口参数传递笔记相关推荐
- 今天研究 Client本来是关联的Expression接口,笔记记录一下。
(很抱歉,由于博客图片审核功能尚未完成,普通用户暂时关闭引用站外图片功能,请您谅解,我们会尽快开放.) 针对这个类图,LZ简单的说两点.<p> 1.C ...
- Java自学.接口学习笔记!
接口学习笔记 文章目录 接口学习笔记 1.接口的概述与生活中的举例 2.接口定义的基本格式 3.接口的抽象方法 3.1接口抽象方法的定义 3.2接口的抽象方法使用 4.接口的默认方式 4.1接口的默认 ...
- VGA接口复习笔记(原理,时序)VGA接口FPGA实现
VGA接口复习笔记(原理,时序)VGA接口FPGA实现 一.显示器工作原理 显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左向右逐点扫描,每扫描完一行,电子束回到屏幕的左 ...
- 阿里云Apsara Clouder专项技能认证-实现调用API接口-学习笔记
Apsara Clouder专项技能认证-实现调用API接口-学习笔记 阿里云的一个小认证,闲来无事,考一下 一.API简介 API的概念 API(Application Programming In ...
- 【vn.py学习笔记(二)】vn.py底层接口 学习笔记
[vn.py学习笔记(二)]vn.py底层接口 学习笔记 1 CTP API的工作原理 1.1 CTP介绍 1.2 API功能介绍 1.3 CTP API文件 1.4 API 通用规则 2 CTP A ...
- 电脑常见的VGA、DVI、PS/2、USB等接口知识笔记,值得收藏!
我们经常见到电脑和网络设备上都少不了VGA.DVI.PS/2.USB等常用接口,那些接口里面有多个针脚,他们每个针脚都有自己的用途,今天电脑学习小编就带大家一起看看这些接口神秘用途. 现在很多朋友们可 ...
- RISCV 向量指令集和NICE接口学习笔记
本文档链接 https://blog.csdn.net/weixin_42487906/article/details/115437890 RISCV向量指令集学习 参考链接 https://gith ...
- paypal支付接口开发笔记--Java版
接入流程文档见:https://blog.csdn.net/change_on/article/details/73881791 支付回调文档见:https://www.freesion.com/ar ...
- 微型计算机及接口技术笔记,自考微型计算机及其接口技术笔记串讲汇总.docx
応 导读:微型计算机及其接口技术这一章笔记主要是针对第一至第七章地重点进行了一个 总结? 第1章微型计算机概论 微处理器一一由运算器.控制器.寄存器阵列组成 微型计算机一一以微处理器为基础,配以内存以 ...
最新文章
- 个人代码库の设置窗体效果AnimateWindow
- 【Python基础】推荐几个神器来拯救奇丑无比的python代码
- 机器学习中的凸优化理论
- SAP Spartacus里的HTTPErrorInterceptor的设计原理
- 问题 B: 数塔问题
- java中处理打折率_【JAVA300例】13、输入价格判断折扣,switch用法+int留整数方便判断...
- 怕入错行?这群技术人写了本“择业指南”
- 英国电信移除华为设备后,多家运营商继续与华为合作,并达成20亿英镑协议...
- Prototype使用Template
- Server Tomcat v8.5 Server at localhost was unable to start within 45 seconds. If the server requires
- gradientDescent----吴恩达机器学习作业
- Android中加载Gif动画
- 步进电机正反转实验_电机正反转控制电路图原理图解
- 海思3559a资料目录整理
- IE11 js导出excel提示Automation 服务器不能创建对象
- 【网速监控工具——TrafficMonitor 】的下载安装使用教程
- 视频直播连麦技术详解
- windows 截图软件——sharex 截图软件的天花板 并且是免费开源的。
- 将.pyc反编译成.py
- 学插画的线上机构排名
热门文章
- CentOS 6.8 安装JDK8
- (43) 讨论和通知
- 如何把电压这个浮点值转字符串输出到串口
- ASP.NET Excel数据导入数据库
- mysql命令行的几个用法
- [zz]ctags和vim- -
- Thinkpad T61/R61/X61安装XP驱动流程
- axis1 c# 接口 调用_java axis 调用C# webService的例子
- hmm 求隐藏序列_HMM——求隐藏序列,维特比算法求解
- galago 介绍_赢得预装Linux的System76 Galago Pro笔记本电脑