asp.net webapi初探(一)
本人对webapi尚没有深入研究,初次接触发现了在数据请求时的几点现象。
先切入代码
1.如果action中开头带有Get默认就是get方式,不带Get默认就是post方式
public string GetUsers0(string id)
{
List<UserProfile> list = UserProfileBiz.GetBatchTest() as List<UserProfile>;
//返回json字符串
return JsonConvert.SerializeObject(list); } $(function () { $.ajax({
url: "http://localhost:6556/api/User/GetUsers0",
type: "get",
dataType: "json",
data: {"ID":""},
beforeSend: function (XMLHttpRequest) {
},
success: function (data, status) {
$(data).each(function () {
alert(this.UserName);
});
},
complete: function (data, status) {
},
error: function () {
}
}); });
get方式可以请求到值,ID得大小写问题可以忽略,但是如果改成post方式,当然就请求不到了
如果改成post方式请求
就必须
[HttpPost]
public string GetUsers0([FromBody]string id)
{
List<UserProfile> list = UserProfileBiz.GetBatchTest() as List<UserProfile>;
//返回json字符串
return JsonConvert.SerializeObject(list); }
现在讲action改成任意不带Get开头的,然后用get方式请求发现请求不到,这是因为action默认已变成post请求的方式,改成post后,没有问题
public string MyUsers0([FromBody]string id)
{
List<UserProfile> list = UserProfileBiz.GetBatchTest() as List<UserProfile>;
//返回json字符串
return JsonConvert.SerializeObject(list); } $.ajax({
url: "http://localhost:6556/api/User/MyUsers0",
type: "post",
dataType: "json",
data: {"ID":""},
beforeSend: function (XMLHttpRequest) {
},
success: function (data, status) {
$(data).each(function () {
alert(this.UserName);
});
},
complete: function (data, status) {
},
error: function () {
}
});
但是依旧需要一个FromBody特性声明,针对非对象类型的传值方式
如果改成实体参数会是什么情况呢
public string MyUsers0(UserProfile user)
{
List<UserProfile> list = UserProfileBiz.GetBatchTest() as List<UserProfile>;
//返回json字符串
return JsonConvert.SerializeObject(list); }
对于实体类型参数并不需要声明FromBody特性了。
至于为什么需要继续探究。
asp.net webapi初探(一)的更多相关文章
- Asp.Net WebApi核心对象解析(下篇)
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...
- ASP.NET WebApi OWIN 实现 OAuth 2.0
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌, ...
- Asp.Net WebApi核心对象解析(上篇)
生活需要自己慢慢去体验和思考,对于知识也是如此.匆匆忙忙的生活,让人不知道自己一天到晚都在干些什么,似乎每天都在忙,但又好似不知道自己到底在忙些什么.不过也无所谓,只要我们知道最后想要什么就行.不管怎 ...
- ASP.NET WebApi 文档Swagger深度优化
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明博客园蜗牛原文地址,cnblogs.com/tdws 写在前面 请原谅我这个标题党,写到了第100篇随笔,说是深度优化,其实也并没有什么深度 ...
- ASP.NET WebApi 文档Swagger中度优化
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws 写在前面 在后台接口开发中,接口文档是必不可少的.在复杂的业务当中和多人对接的情况下,简 ...
- Creating a Clean, Minimal-Footprint ASP.NET WebAPI Project with VS 2012 and ASP.NET MVC 4
Creating a Clean, Minimal-Footprint ASP.NET WebAPI Project with VS 2012 and ASP.NET MVC 4 Building O ...
- ASP.NET WEBAPI 的身份验证和授权
定义 身份验证(Authentication):确定用户是谁. 授权(Authorization):确定用户能做什么,不能做什么. 身份验证 WebApi 假定身份验证发生在宿主程序称中.对于 web ...
- Enable Cross-Origin Requests in Asp.Net WebApi 2[Reprint]
Browser security prevents a web page from making AJAX requests to another domain. This restriction i ...
- 为Asp.net WebApi 添加跨域支持
Nuget安装包:microsoft.aspnet.webapi.cors 原文地址:https://www.asp.net/web-api/overview/security/enabling-cr ...
随机推荐
- SQL 数据库 触发器 、事务
触发器类型有两种: 1.AFTER(FOR)触发器 在动作执行之后触发(增删改执行完成后,触发器中的代码再执行),不能为视图指定for触发器,只能为表指定该触发器. 2.instead of触发器 可 ...
- Java日志管理方法(转载)
原文地址:http://www.cnblogs.com/leocook/p/log_java.html java开发中常见的几种日志管理方案有以下4种: 1. Commons-logging + lo ...
- [原创]java WEB学习笔记82:Hibernate学习之路---映射 一对多关联关系,配置,CRUD方法测试及注意点
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Grunt 自动化部署之css、image、javascript、html压缩Gruntfile.js配置
grunt.initConfig方法 用于模块配置,它接受一个对象作为参数.该对象的成员与使用的同名模块一一对应. 每个目标的具体设置,需要参考该模板的文档.就cssmin来讲,minify目标的参数 ...
- paper 83:前景检测算法_1(codebook和平均背景法)
前景分割中一个非常重要的研究方向就是背景减图法,因为背景减图的方法简单,原理容易被想到,且在智能视频监控领域中,摄像机很多情况下是固定的,且背景也是基本不变或者是缓慢变换的,在这种场合背景减图法的应用 ...
- 不同版本mysql语句不兼容原因
一般是sql_mode不相同,可以认为规则不一致.(语法的变化非常小,一般可以忽略) 如果想要导入不同版本的数据.可以: 手动处理一些导入错误或者采用其他的办法. 或者 修改sql_mode.具体修改 ...
- OpenGl And 视图
OpenGl And 视图 标签(空格分隔): game 简介 本文主要介绍坐标系的观念, 以及在openGL中的视图及其相关的变换. 大纲 视图.模型.投影变换概念 Opengl中对各种变换的支持 ...
- 认识Swift
Swift 是一门新的编程语言,用于编写 iOS 和 OS X 应用程序.Swift 结合了 C 和 Objective-C 的优点并且不受C兼容性的限制.Swift 使用安全的编程模式并添加了很多新 ...
- 在路由器 RT-AC68U 使用自定义 DDNS 用 3322.org 动态域名的方法
0.使用华硕的第三方固件 -- 梅林固件 , 具体更新固件方法不在本主题述说 1.打开 jffs, 以便启动时可以自动执行脚本 2.在 /jffs/scripts 下新建 ddns-start 文件. ...
- linux设备驱动归纳总结(四):1.进程管理的相关概念【转】
本文转载自;http://blog.chinaunix.net/uid-25014876-id-64866.html linux设备驱动归纳总结(四):1.进程管理的相关概念 xxxxxxxxxxxx ...