当没有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,并且云控制台开启相应端口
来源:oschina
链接:https://my.oschina.net/u/4335973/blog/3571628