當沒有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,並且雲控制台開啟相應端口