分布式技术 webapi 路由追加html、aspx、shtml 适用于 对接 安卓、IOS
2017-09-06 16:59
399 查看
首先是这样,在对接安卓和IOS或者是第三方调用的接口,我需要在服务端返回一个带.html/.aspx这样后缀的接口。
例子如下图:http://localhost:64131/api/UsersInfo/GetAllUsersInfo.html
View Code
新建一个html页面,供测试使用:
报文:
PS:如果http://localhost:64131/api/UsersInfo/GetAllUsersInfo.html 报404,往下看↓
1.MVC4 版本以上 不支持 直接在路由中配置.html/.aspx/.shtml
我们需要在webconfig中配置一下
<modules runAllManagedModulesForAllRequests="true" /> :
2.如果用到了 webapi 中的put 、delete 等rest操作,需要配置一下
例子如下图:http://localhost:64131/api/UsersInfo/GetAllUsersInfo.html
namespace WebApiApp.Controllers { public class UsersInfoController : ApiController { UsersInfo[] usersInfos = new UsersInfo[] { new UsersInfo{Id=1,Name="张三", Age=100, Email="abcd@126.com", Adress="北京"}, new UsersInfo{Id=2,Name="李四", Age=222, Email="abcd@126.com", Adress="北京"}, new UsersInfo{Id=3,Name="王五", Age=333, Email="abcd@126.com", Adress="北京"}, new UsersInfo{Id=4,Name="侯六", Age=444, Email="abcd@126.com", Adress="北京"} }; /// <summary> /// /api/Contact /// </summary> /// <returns></returns> public IEnumerable<UsersInfo> GetListAll() { return usersInfos; } /// <summary> /// 获取全部数据 /// </summary> /// <returns></returns> public ReturnJson GetAllUsersInfo() { return new ReturnJson { data = usersInfos }; } /// <summary> /// 根据Id 获取数据 /// </summary> /// <param name="Id"></param> /// <returns></returns> public UsersInfo GetUsersInfoById(int Id,[FromBody]string value ) { var usersInfo = usersInfos.FirstOrDefault((u) => u.Id == Id); return usersInfo; } public class ReturnJson { public int count { get; set; } public object data { get; set; } public string msg { get; set; } } } }
View Code
新建一个html页面,供测试使用:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <div> <h3>所有用户</h3> <ul id="usersinfos"> <script type="html/javascript" id="js:usersinfos"> {{each data as list i}} <li> Id:{{list.Id}} , Name:{{list.Name}},Age:{{list.Age}},Email: {{list.Email}},Adress:{{list.Adress}}</li> {{/each}} </script> </ul> </div> <div> <h3>查询</h3> <input type="text" id="Id" size="15" /> <input type="button" value="查询" onclick="GetUsersInfoById() " /> <ul id="usersinfo"></ul> </div> <script src="Scripts/jquery-1.8.3.min.js"></script> <script src="Scripts/template.js"></script> <script src="Scripts/mui.min.js"></script> <script src="Scripts/app.js"></script> <script type="text/javascript"> var url_api = 'api/UsersInfo/'; $(function () { GetAllUsersInfo(); }) function GetAllUsersInfo() { var strli = ""; $.ajax({ type: 'GET', url: 'api/UsersInfo/GetAllUsersInfo.html', async: true,//同步 dataType: 'json', success: function (data) { var jsondata = data.data; var list_html = template('js:usersinfos', data); $('#usersinfos').append(list_html); //$.each(json, function (i, n) { // strli += "<li>"; // strli += 'Id:' + n.Id + ',' + 'Name:' + n.Name + ',' + 'Age:' + n.Age + ',' + 'Email:' + n.Email + ',' + 'Adress:' + n.Adress + ''; // strli += '</li>'; //}) //$("#usersinfos").html(strli); }, error: function (xhr, status, error) { alert("操作失败"); } }); } function GetUsersInfoById() { var strli_ById = ""; var Id = $('#Id').val(); $.ajax({ type: 'GET', url: 'api/UsersInfo/GetUsersInfoById.html', async: true,//同步 dataType: 'json', data: { 'Id': Id }, success: function (json) { strli_ById += "<li>"; strli_ById += 'Id:' + json.Id + ',' + 'Name:' + json.Name + ',' + 'Age:' + json.Age + ',' + 'Email:' + json.Email + ',' + 'Adress:' + json.Adress + ''; strli_ById += '</li>'; $("#usersinfo").html(strli_ById); }, error: function (xhr, status, error) { alert("操作失败"); } }); } </script> </body> </html>
报文:
PS:如果http://localhost:64131/api/UsersInfo/GetAllUsersInfo.html 报404,往下看↓
1.MVC4 版本以上 不支持 直接在路由中配置.html/.aspx/.shtml
我们需要在webconfig中配置一下
<modules runAllManagedModulesForAllRequests="true" /> :
2.如果用到了 webapi 中的put 、delete 等rest操作,需要配置一下
<handlers> <remove name="WebDAV"/> <!--PUT DELETE 放开--> </handlers> 全部[b]代码如下:[/b]
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules runAllManagedModulesForAllRequests="true" /> <handlers> <remove name="WebDAV"/> <!--PUT DELETE 放开--> </handlers> </system.webServer>
相关文章推荐
- php 简单的路由解析 可以随意设置后缀(html,do,shtml,aspx等等)
- 【原】PSD图标素材的全自动切图方法,适用于IOS、安卓、web前端等领域
- 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换
- unity 提取机器唯一编码 适用于wind 安卓 ios不适用
- springmvc 对接安卓与ios,获取数据
- 苹果iOS和谷歌安卓用户界面风格对比及技术总结
- iOS SmartConfig 实践小记录(CC3200、CC3x、TI Smart Config 配置不上路由、物联网Wi-Fi快连接技术)
- 车牌识别api接口—移动端安卓、iOS系统的OCR技术
- php后台对接ios,安卓,API接口设计和实践完全攻略,涨薪必备技能
- 苹果iOS和谷歌安卓用户界面风格对比及技术总结
- 涵盖从java入门到深入架构,Linux、云计算、分布式、大数据Hadoop、ios、Android、互联网技术应有尽有
- 【原】PSD图标素材的全自动切图方法,适用于IOS、安卓、web前端等领域
- 离线车牌识别技术,支持iOS和安卓
- 经典的博客学习,安卓html+js+ios
- 分布式技术 webapi
- ios安卓人脸对比识别技术
- 美拍、秒拍中安卓、IOS短视频拍摄的一些关键技术
- 基于安卓、ios的移动端银行卡识别技术
- UrlRewrite、地址映射技术(jsp,asp,aspx,php转html)