控制台+Owin搭建WebAPI接口服务

  当没有iis环境、想快速启动几个api接口测试又觉得新建一个api项目麻烦?来使用控制台做宿主,快速改几个api测试吧!

  1.新建控制台项目

  2.安装以下相关依赖

  Microsoft.AspNet.WebApi

  Microsoft.AspNet.WebApi.Owin

  Microsoft.Owin.Hosting

  Microsoft.Owin.Host.HttpListener

  3.新建API控制器,需要注意一下几点约定

  >控制器放在文件夹Controllers下(没有新建一个)

  >控制器继承自ApiController

  >控制其名称符合“名称+Controller”规范

  比如:

  

  其它与WebAPI的写法一致即可

  4.新建StartUp类--根目录新建StartUp.cs

  

 1 public class Startup
 2     {
 3         public void Configuration(IAppBuilder appBuilder)
 4         {
 5             HttpConfiguration config = new HttpConfiguration();
 6
 7             config.Routes.MapHttpRoute(name: "DefaultApi",
 8                 routeTemplate: "api/{controller}/{action}",
 9                 defaults: new { id = RouteParameter.Optional }
10             );
11
12             //清除xml格式,使用json格式
13             config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
14             config.Formatters.Add(new JsonMediaTypeFormatter());
15
16             appBuilder.UseWebApi(config);
17         }
18     }

  5.Program中配置启动

  

           StartOptions options = new StartOptions();
            options.Urls.Add("http://localhost:9095");
            options.Urls.Add("http://127.0.0.1:9095");
            options.Urls.Add(string.Format("http://{0}:9095", Environment.MachineName));
            using (WebApp.Start<Startup>(options))
            {
                Console.WriteLine("server started...");

                Console.ReadLine();
            }

            //也可以使用
            //string baseAddress = "http://localhost:9000/";
            //using (WebApp.Start<Startup>(url: baseAddress))
            //{

            //}    

  6.开启测试吧~~

  7.注意部署在服务器上时,如果服务器的外网ip不是本机ip,需要使用本机ip启动api,并且云控制台开启相应端口

原文地址:https://www.cnblogs.com/xihao/p/10719042.html

时间: 2024-10-16 14:58:20

控制台+Owin搭建WebAPI接口服务的相关文章

创建和调用webapi接口服务文件

前言 源码地址:https://github.com/kmonkey9006/QuickWebApi 现在项目中用的是webapi,其中有以下问题:    1.接口随着开发的增多逐渐增加相当庞大. 2.接口调用时不好管理. 以上是主要问题,对此就衍生了一个想法: 如果每一个接口都一个配置文件来管理,每个配置文件能清晰表示处理接口文件,地址,参数,返回值,那么通过这个配置文件,就能很好的管理起来我们所有的webapi接口不是吗? 有了这个思路之后就有了以下的实现: 具体实现: 1.核心代码 pub

SpringBoot接口服务处理Whitelabel Error Page

转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50915979 <SpringBoot接口服务处理Whitelabel Error Page> <Maven依赖载入错误的情况分析> <Java Webproject转换为基于Maven的Webproject> <Maven Webproject执行异常:Maven.multiModuleProjectDirectory system propery

OWIN 为WebAPI

OWIN 为WebAPI 宿主 跨平台 OWIN是什么? OWIN的英文全称是Open Web Interface for .NET. 如果仅从名称上解析,可以得出这样的信息:OWIN是针对.NET平台的开放Web接口. 那Web接口是谁和谁之间的接口呢?是Web应用程序与Web服务器之间的接口,OWIN就是.NET Web应用程序与Web服务器之间的接口. 为什么需要这样一个接口呢?因为.NET Web应用程序是运行于Web服务器之中的,.NET Web应用程序需要通过Web服务器接收用户的请

WebApi接口 - 如何在应用中调用webapi接口

简单做个webapi(查询+添加)接口 首先,我们需要有一个webapi接口项目,我这里以前面WebApi接口 - 响应输出xml和json文章的项目来构建本篇文章的测试用例:这里新建一个 DbData 数据源类,主要用来做数据存储和提供查询列表数据及添加数据方法,具体代码如:  1 public class DbData 2     { 3         public static DbData Current 4         { 5             get 6         

[CI] 使用CodeIgniter框架搭建RESTful API服务

在2011年8月的时候,我写了一篇博客<使用CodeIgniter框架搭建RESTful API服务>,介绍了RESTful的设计概念,以及使用CodeIgniter框架实现RESTful API的方法.转眼两年过去了,REST在这两年里有了很大的改进.我对于前一篇博客中的某些方面不是很满意,所以希望能利用这次机会写一个更加完善的版本.我的项目基于Phil Sturgeon的CodeIgniter REST Server,遵循他自己的DBAD协议.Phil的这个项目很棒,干净利落,简单实用,并

WebApi 接口参数不再困惑:传参详解

转自:http://www.cnblogs.com/landeanfen/p/5337072.html 阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.“怪异”的get请求 二.post请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.后台发送请求参数的传递 三.put请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 四.delete请求 五.总结 正文 前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如

基于 Ubuntu 搭建 FTP 文件服务

搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsftpd -y vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系统下最安全和快速的 FTP 服务器软件. 启动 VSFTPD 安装完成后 VSFTPD

C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

原文地址:http://www.cnblogs.com/landeanfen/p/5501487.html 使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型 void无返回值 IHttpActionResult HttpResponseMessage 自定义类型 此篇就围绕这四块分别来看看它们的使用. 一.void无返回值 void关键字我们都不陌生,它申明方法没有返回值.它的使用也很简单,我们来看一个示例就能明白. public class ORDER { publi

搭建 FTP 文件服务

安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系统下最安全和快速的 FTP 服务器软件. 启动 VSFTPD 安装完成后,启动 FTP 服务: service vsftpd start 启动后,可以看到系统已经[监听了 21 端口]: netsta