目前在做.net开发。

需要开发一套webapi.

这里记录一下某些注意点。

1. 如何开启跨域

如果webapi的用户是域外用户,则需要根据需要开放跨域。

首先安装Install-Package Microsoft.AspNet.WebApi.Cors

在WebApiConfig.cs里开启config.EnableCors();

可以控制开放的范围,例如只开放某些controller,还是全局都开发等到。

参考:http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

2.接收json

webapi一般接收Json。这个不困难,送给某些需要的人。

$.ajax({
url: "*****/Account/Login",
type: "POST",
data: JSON.stringify({UserName:'user1',Password:'123456'}),
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (response) {
console.log(response.responseText);
},
success: function (response) {
console.log(response);
}
});

参考http://stackoverflow.com/questions/21578814/how-to-receive-json-in-a-mvc-5-action-method-as-a-paramter

3. 上传文件

webapi的文件上传和mvc不一样。

具体方式自己选择,可以参考

http://weblog.west-wind.com/posts/2012/Sep/11/Passing-multiple-simple-POST-Values-to-ASPNET-Web-API

http://blogs.msdn.com/b/codefx/archive/2012/02/23/more-about-rest-file-upload-download-service-with-asp-net-web-api-and-windows-phone-background-file-transfer.aspx

提醒一点,文件在controller里面必须使用[FromUri]属性,否则报错:

No MediaTypeFormatter is available to read an object of type 'HttpPostedFileBase[]' from content with media type 'multipart/form-data'.

如果选择使用js来上传,请参考

http://www.codeproject.com/Articles/806075/File-Upload-using-jQuery-AJAX-in-ASP-NET-Web-API

apicontroller的request没有files这个属性,需要使用HttpContext.Current.Request.Files

.net WebApi 开发中某些注意事项相关推荐

  1. WebAPI开发中的定时处理

    在WebAPI开发中会遇到一些需要定时或周期性处理的功能,比如每天早上6点从服务器下载数据或每隔半个小时查询统计数据等,有时也需要将数据向客户端推送.如何让web API也能处理定时或周期性的任务呢? ...

  2. 浙里办H5应用开发中的注意事项

    浙里办H5应用开发 一.准备工作 1.从业主部门(需要开发应用的政府单位)申请浙政钉账号,最好是用自己的手机号去申请,因为浙政钉登录需要验证,如果用别人提供的账号,每次登录都很麻烦. 2.加入浙里办技 ...

  3. iOS中允许后台应用程序刷新在开发中的注意事项

    系统根据你对软件的使用频率,定期在后台唤醒它.唤醒的表示形式就想你在前台操作一样.这时会自动加载相应的数据,来刷新界面.当用户再进来后看到的界面是最新的数据,不用再去加载,比较耗流量和电.如果不想使用 ...

  4. 项目开发中的注意事项

    从毕业到现在,我最讨厌那些夸夸其谈,经常大谈什么 最新技术的人(我不反对新技术,只是要看公司的实际情况及项目小组的成员水平),明明自己对某项技术只是一知半解,就在同事面前大谈特谈.好像自己很懂似的.实 ...

  5. VR硬件演进与其游戏开发中的若干注意事项

    最近两年虚拟现实(Virtual Reality,简称VR)从刚刚走进公众视野到逐渐变得炙手可热,很多不同领域的IT开发者都想进入虚拟现实领域.本篇文章将首先讲解VR入门所需要学习的知识,然后从VR软 ...

  6. ssh项目同时使用mysql跟sqlserver数据库_MSSQL_如何把sqlserver数据迁移到mysql数据库及需要注意事项,在项目开发中,有时由于项目 - phpStudy...

    如何把sqlserver数据迁移到mysql数据库及需要注意事项 在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Serve ...

  7. 状态机思路在嵌入式开发中的应用说明及注意事项(普罗米修斯中不少功能节点用了状态机的方法来写)

    我感觉普罗米修斯很多功能模块里面都用到了状态机的思路 比如圆环穿越的,比如最新的二维码降落的代码. 摘自:https://mp.weixin.qq.com/s/qRmBDH-VIHM26AaNFoD9 ...

  8. PHP和MySQL的交互实验注意事项,PHP 和 MySQL 开发中要注意的8个技巧

    LAMP 架构的网站,我以前注重的多是安装/配置方面的,讲述开发的相对较少,因为自己从事开发也少.本文的原文当然也来自: Published on The O'Reilly Network (http ...

  9. android开发中PreferenceScreen的使用注意事项

    今天开发中需要用到android自带的偏好功能PreferenceScreen 在网上教程很多刚开始设置为 <PreferenceScreen xmlns:android="http: ...

最新文章

  1. python【蓝桥杯vip练习题库】ALGO-55 矩阵加法
  2. vue用户行为收集_vue 实现移动端键盘搜索事件监听
  3. GitHub之GitHub Actions的项目自动化持续集成和部署
  4. ftp主要完成与远程计算机的连接,2015计算机三级《网络技术》复习重点:远程登录服务和FTP服务...
  5. $.post()提交了数据,return不给跳转
  6. RAX,eax,ax,ah,al 关系
  7. 做游戏,学编程(C语言) 8 英雄联盟连连看
  8. 2022,火山引擎的云上第一“子”,为何是视频?
  9. 4个开源 TCP/IP 栈被曝33个漏洞,数百万智能和工业设备受影响
  10. idea中如何添加自定义的todo
  11. react根据中文获取拼音_学前家长建议收藏:你要的「趣味拼音课」来了
  12. 社区管理系统案列/APP/小程序/网站
  13. [ZT]IBM骨灰心得:在你决定购买IBM某个系列前你认真思考过这些吗?
  14. 摄影测量之空间后方交会程序
  15. Android 自定义控件浅谈
  16. 谷歌浏览器网页翻译失效的解决方案
  17. 公器私用--大互联网自建云分析
  18. 导出excel表格并返回给前端的快捷用法(上)
  19. SQL数据查询——单表查询(二)
  20. 2.AZ900资源汇总

热门文章

  1. .mat,.txt,.csv 数据转换为weka中的arff格式及matlab和Weka之间相互转换格式
  2. Java生鲜电商平台-微服务入门与服务的拆分架构实战
  3. OptaPlanner - 把example运行起来(运行并浅析Cloud balancing)
  4. JAVA类的构造方法
  5. jquery in action 学习笔记
  6. push模式的水晶报表,参数的设置要放在数据源设置之后
  7. flex label 换行
  8. Hadoop RPC实例
  9. Android中写文本文件的方法
  10. mongodb数据库中插入数据