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 条评论
登录 后参与评论

相关文章

来自专栏编程直播室

折腾git pages+hexo+NexT初识hexo开始本地试运行准备服务器准备上传工具先告一段落发表文章主题

24060
来自专栏应用案例

性能测试之gatling详解

大家接触过形形色色的压力测试工具,例如lr,jmeter各有各的优点,那么最近在做接口测试中涉及到压力测试,小弟就看到一个好用的工具俗称“加特林”英文Gatli...

40760
来自专栏高性能服务器开发

(八)高性能服务器架构设计总结1——以flamigo服务器代码为例

这篇文章算是对这个系列的一个系统性地总结。我们将介绍服务器的开发,并从多个方面探究如何开发一款高性能高并发的服务器程序。

18820
来自专栏恰童鞋骚年

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

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

13020
来自专栏mySoul

Linux基础知识

软件运行时输入单元输入内容,进入内存,CPU由控制单元和算术逻辑单元组成,控制单元控制算术逻辑单元从内存中读取数据,内存和外部存储设备进行交互,运算完毕以后输出...

28540
来自专栏吉浦迅科技

【用户经验分享】NVIDIA Jetson TX2开发板运行 jetson-inference 出现问题的终极解决办法

注 之前本公众号发布了一个教程【入门篇】Jetson TX2深度学习Inference初体验,里面提到一个步骤,就是可能会出现错误,提示nvidia.app.b...

1.4K50
来自专栏风火数据

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

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

15320
来自专栏IT技术精选文摘

基于Netty实现海量接入的推送服务技术要点

25650
来自专栏SDNLAB

ONOS 实战分享(一):项目建立、调试到热部署

以上是ONOS的架构图,相信大家已经熟记于心了 本文将在Distributed Core Tier,以开发一个控制器内的模块为例,带领大家从项目的建立,导入I...

48370
来自专栏EAWorld

微服务之服务调用与安全控制

近年来,大多数企业IT软件均在向微服务架构转型,由于微服务架构采用了更细粒度的分布式拆分,对于服务调用安全方面的问题更复杂,更需要重视,需要整体的系统化解决方案...

20930

扫码关注云+社区

领取腾讯云代金券