使用mono开发WebAPI

时间:2016-04-14 15:50:14

标签: mono asp.net-core monodevelop

是否有任何指南或文档可以使用Mono控制台或MonoDevelop构建REST API。我尝试在MonoDevelop中创建MVC应用程序,但无法找到App_Start / WebApiConfig.cs或相关文件,通过这些文件我可以定义我在基于Visual Studio的应用程序中通常所做的路由和其他设置。

3 个答案:

答案 0 :(得分:3)

简短的回答是MD没有这方面的模板,但它很容易上手:

  1. 创建一个新的ASP.NET项目(MD ASP.NET项目模板中的底部项目)。
  2. 使用NuGet添加ASP.NET Web API 2.2。
  3. 手动添加App_Start文件夹,并使用您的路线等添加WebApiConfig.cs。
  4. 这样的事情:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web.Http;
    
    namespace MyWebApi
    {
        public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                // TODO: Add any additional configuration code.
    
                // Web API routes
                config.MapHttpAttributeRoutes();
    
                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    routeTemplate: "api/{controller}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
            }
        }
    }
    
    1. 将WebApiConfig配置添加到Global.asax.cs
    2. 例如:

      protected void Application_Start (Object sender, EventArgs e)
      {
          GlobalConfiguration.Configure(WebApiConfig.Register);
      }
      
      1. 然后照常开始添加模型和控制器等。
      2. 希望这个帮助,M。

答案 1 :(得分:3)

我按照@ muszeo的回答中的说明进行操作。

我在https://github.com/sashoalm/HelloWebApi创建了一个示例项目。它定义了一个名为POST /api/check_account { "user": "peter", "host": "myserver.com" } 的控制器,它在HelloWebApiController创建一个端点,返回一个带有“hello,world”的字符串。

我已经使用MonoDevelop 5.10在Linux上测试过它。

您可以使用http://localhost:8080/api/HelloWebApi

克隆它

答案 2 :(得分:1)

最好的起点是官方的ASP.NET文档:https://docs.asp.net/en/latest/getting-started/installing-on-linux.html

我没有使用过MonoDevelop,但我认为它不支持基于dnx的应用程序。要生成应用程序框架,您可以使用yo https://github.com/OmniSharp/generator-aspnet

然后,您可以使用VS代码编辑代码https://code.visualstudio.com/