Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html

屁话我也就不多说了,什么简介的也省了,直接简单概括+demo演示

你可以把webapi理解为面向资源编程(就是通过http请求来直接操作,比如get post put delete等等)

先不讲技术,先引入,让大家看看这个是什么?

这个是webapi里面的某个控制器,里面定义了很多方法,和http请求有一一对应的嫌疑

api控制器里面的方面一般都是和请求对应的(逆天建议这样去写)

比如我们请求一下get,返回的数据就是我们上面方法的返回值

Post请求一下

Delete请求一下

+++++++++++++++++++++++++++++++++++华丽的分割线+++++++++++++++++++++++++++++++++++++++++

下面带着你的疑问跟我一起快速入门:

下面我们建一个webapi的项目(面向资源编程肯定是未来一大方向)

添加一个控制器

取个名字

他会自动继承apiContrller,定义几个常见的方法(请求)

方法可以有重载,方法体里面和C#代码差不多,原来怎么写还怎么写

运行一下, 访问:http://localhost:6023/api/home默认会访问get的无参方法,就和mvc里面默认访问index方法一样

注意了,和mvc不一样咯

如果是mvc的home控制器

那么肯定是这样的访问: xxx/Home/Get

我们直接利用工具更形象的操作一下:

很多api接口都是用他来写,这次我们来带个参数:

这个是最基本的使用方法

有人会问了,web程序怎么访问呢?

我不说话,给个提示你自己体验一下:

$.post('',{},function(){ });

+++++++++++++++++++++++++++下面的是拓展部分不要求掌握+++++++++++++++++++++++++++++++++++++=

下面说一下不依赖于IIS的方式

用nuget添加web api owin self host包(对比传统项目引用,nuget的好处==》你依赖啥,我就帮你引入啥,不要你操心)

新增一个Owin的Startup类,类似于我们传统项目的Global文件

配置一下webapi,可以参考传统webapi里面的"路由"

添加一个控制器的文件夹,并添加一个类

继承一下apiController并定义一下常见方法

在main方面里面启动owin host

这边如果出错==》一般都是端口占用的时候或者权限不够导致的

可以参考:http://www.cnblogs.com/dunitian/p/5232229.html

运行一下,用工具测试一下

带参数的时候

然而只是这样吗?nonono,神奇的事情即将发生。我已经把vs关了

下面看owin牛逼之处,我们把刚才生成的文件直接打开

用工具再次模拟请求一下

擦~网站就这么不需要部署了?

收工,下面的你们自己研究了,不然太没意思了

Demo附上:http://pan.baidu.com/s/1skrQaD3

原文发布于微信公众号 - 我为Net狂(dotNetCrazy)

原文发表时间:2016-03-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏恰同学骚年

NoSQL初探之人人都爱Redis:(1)Redis简介与简单安装

  随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经显得力不从心,暴露了...

1072
来自专栏性能与架构

LinkedIn 即时通信系统的优化

前言 LinkedIn 的即时通信系统目前单台机器可以处理数十万的持久连接,这是不断调优的结果。 最近,他们在官网博客中发布了优化过程,介绍了即时通信系统的技术...

3288
来自专栏智能大石头

Oracle免客户端For .Net(增加分析Devart和DataDirect)

    我只是一名普通的.Net开发人员,常用SqlServer,偶尔用其它数据库,属于能连上然后select/execute就行的那种。但就是我这么小的愿望,...

20110
来自专栏一名合格java开发的自我修养

kafka0.8--0.11各个版本特性预览介绍

kafka-0.8.2 新特性 producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率。produc...

752
来自专栏Java架构沉思录

基于Netty的百万级推送服务设计要点

最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可...

2292
来自专栏游戏杂谈

liunx下查看服务器硬件信息

今天安装了9台Linux服务器,型号完全不一样(有DELL、HP和IBM服务器),又懒得去对清单,如何在Linux下cpu的个数和核数呢?另外,nginx的cp...

5932
来自专栏北京马哥教育

如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或...

3129
来自专栏IT大咖说

送给前端的你:可视化快速生成模拟数据服务——Easy Mock

? 内容来源:2017年11月18日,大搜车前端工程师高攀在“2017中国开源年会”进行《Easy Mock 接口数据模拟服务》演讲分享。IT 大咖说(微信i...

4556
来自专栏CSDN技术头条

Java 程序如何正确地打日志

我们 Java 程序员在开发项目时都是依赖 Eclipse/ Idea 等开发工具的 Debug 调试功能来跟踪解决 Bug,在开发环境可以这么做,但项目发布到...

1173
来自专栏风火数据

高级Java研发师在解决大数据问题上的一些技巧

众所周知, Java 在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,...

1052

扫码关注云+社区