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

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

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

工具:PostMan

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

这个是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

Web Api 入门实战 (快速入门+工具使用+不依赖IIS)的更多相关文章

  1. net core体系-web应用程序-4asp.net core2.0 项目实战(CMS)-第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了   原文链接:https://www.cnblogs.com/yilezhu/p/9985451.ht ...

  2. 【WEB API项目实战干货系列】- 导航篇(十足干货分享)

    在今天移动互联网的时代,作为攻城师的我们,谁不想着只写一套API就可以让我们的Web, Android APP, IOS APP, iPad APP, Hybired APP, H5 Web共用共同的 ...

  3. 【WEB API项目实战干货系列】- 接口文档与在线测试(二)

    上一篇: [WEB API项目实战干货系列]- Web API 2入门(一) 这一篇我们主要介绍如何做API帮助文档,给API的调用人员介绍各个 API的功能, 输入参数,输出参数, 以及在线测试 A ...

  4. 【WEB API项目实战干货系列】- API访问客户端(WebApiClient适用于MVC/WebForms/WinForm)(四)

    这几天没更新主要是因为没有一款合适的后端框架来支持我们的Web API项目Demo, 所以耽误了几天, 目前最新的代码已经通过Sqlite + NHibernate + Autofac满足了我们基本的 ...

  5. 【WEB API项目实战干货系列】- API登录与身份验证(三)

    上一篇: [WEB API项目实战干货系列]- 接口文档与在线测试(二) 这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API, API身份验证. ...

  6. 【WEB API项目实战干货系列】- WEB API入门(一)

    这篇做为这个系列的第一篇,做基本的介绍,有经验的人可以直接跳到第二部分创建 ProductController.   创建 Web API 项目 在这里我们使用VS2013, .NET 4.5.1创建 ...

  7. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.html 本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新 ...

  8. RocketMQ实战快速入门

    转自:https://www.jianshu.com/p/824066d70da8 一.RocketMQ 是什么      Github 上关于 RocketMQ 的介绍:RcoketMQ 是一款低延 ...

  9. Web api 文档以及测试工具配置

    第一步: 创建web api 在nuget 上搜索 webapitestclient (包含预发行版) 然后在 /Areas/HelpPage/Views/Help/Api.cshtml 末尾 添加 ...

随机推荐

  1. 在.NET Core 里使用 BouncyCastle 的DES加密算法

    .NET Core上面的DES等加密算法要等到1.2 才支持,我们可是急需这个算法的支持,文章<使用 JavaScriptService 在.NET Core 里实现DES加密算法>需要用 ...

  2. TDD在Unity3D游戏项目开发中的实践

    0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...

  3. ABP文档 - 嵌入的资源文件

    文档目录 本节内容: 简介 创建嵌入的文件 暴露嵌入的文件 使用嵌入的文件 简介 一个web应用里,客户端包含javascript,css,xml等文件,这此文件被添加到一个web项目后,发布成独立的 ...

  4. js复杂对象和简单对象的简单转化

    var course = { teacher :{ teacherId:001, teacherName:"王" }, course : { courseId : 120, cou ...

  5. JavaScript function函数种类

    本篇主要介绍普通函数.匿名函数.闭包函数 目录 1. 普通函数:介绍普通函数的特性:同名覆盖.arguments对象.默认返回值等. 2. 匿名函数:介绍匿名函数的特性:变量匿名函数.无名称匿名函数. ...

  6. 一道返回num值的小题目

    题目描述: 实现fizzBuzz函数,参数num与返回值的关系如下: .如果num能同时被3和5整除,返回字符串fizzbuzz .如果num能被3整除,返回字符串fizz .如果num能被5整除,返 ...

  7. 从零开始编写自己的C#框架(25)——网站部署

    导航 1.关掉访问保护 2.发布网站 3.复制网站到服务器 4.添加新网站 5.设置网站访问权限 6.设置文件夹访问权限 7.控制可更新文件夹执行权限 8.设置“应用程序池”.net版本与模式 9.附 ...

  8. Spring中Bean的作用域、生命周期

                                   Bean的作用域.生命周期 Bean的作用域 Spring 3中为Bean定义了5中作用域,分别为singleton(单例).protot ...

  9. Java类变量和成员变量初始化过程

    一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...

  10. c++ pair 使用

    1. 包含头文件: #include <utility> 2. pair 的操作: pair<T1,T2> p; pair<T1,T2> p(v1,v2); pai ...