2016-04-14 13 views
2

Gibt es Anleitungen oder Dokumentationen zum Erstellen einer REST-API mit Mono Console oder MonoDevelop? Ich habe versucht, eine MVC-Anwendung in MonoDevelop zu erstellen, konnte aber App_Start/WebApiConfig.cs oder relevante Dateien nicht finden, mit denen ich Routen und andere Einstellungen definieren kann, die ich normalerweise in Visual Studio-basierten Anwendungen mache.Entwickeln von WebAPI mit Mono

+2

ich ein Beispielprojekt bei https://github.com/sashoalm/HelloWebApi erstellt haben, die einen Endpunkt unter http erstellt: // localhost: 8080/api/HelloWebApi, die zurückgibt eine Zeichenfolge mit "Hallo, Welt". Ich habe es unter Linux mit MonoDevelop 5.10 getestet. – sashoalm

+0

Vielen Dank @ashoalm. Ich verbrachte den ganzen Tag damit, das Beispiel für Web-API mit Monodevelop zu finden und Sie haben meinen Tag gerettet. Vielen Dank nochmal – Swr7der

Antwort

1

Der beste Ort zu beginnen, ist die offizielle ASP.NET Dokumentation: https://docs.asp.net/en/latest/getting-started/installing-on-linux.html

Ich habe MonoDevelop nicht verwendet, aber ich glaube nicht, es dnx basierten Anwendungen unterstützt. Um die App Skelett zu erzeugen Sie verwenden können, yo https://github.com/OmniSharp/generator-aspnet

Dann können Sie VS-Code verwenden, um Ihren Code https://code.visualstudio.com/

+1

Ich habe etwas [hier] (http://blog.opinionatedapps.com/webapi-aspnet-vnext-mono-via-docker-on-ubuntu-linux-part-1/) welches Mono verwendet. Nicht sicher, dnx. Grundsätzlich vergleiche ich Visual Studio Vorlagen Vs MonoDevelop Vorlage wie Apfel zu Apfel. Was ich nicht sein sollte. ** Vielleicht bin ich unterwegs ohne richtig definierte Route **. Notwendigkeit, richtigen Pfad zu definieren: 1. Was zusammenpasst (MonoDevelop stand alone ODER MonoDevelop mit dnx oder etwas anderes) 2. Sollte ich verwenden, um Open Source-Projekt .NET oder ein Werkzeug als VS-Code 3 zu entwickeln. Wie kann ich MVC/Web API-Anwendung auf Ubuntu ausführen. – Kenz

+0

_ ** Auf der Suche nach Hilfe wie oben erwähnt Kommentare. ** _ – Kenz

2

Kurze Antwort zu bearbeiten gibt es keine Vorlage für diese in MD ist, aber es ist sehr leicht zu bekommen gehen:

  1. erstellen Sie ein neues ASP.NET-Projekt (das untere Projekt in den MD ASP.NET Projektvorlagen).
  2. Verwenden Sie NuGet, um ASP.NET Web API 2.2 hinzuzufügen.
  3. einen App_Start Ordner manuell hinzufügen, und ein WebApiConfig.cs mit Ihren Routen usw.

Etwas wie folgt aus:

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. hinzufügen WebApiConfig Konfiguration in die Global.asax.cs

Zum Beispiel:

protected void Application_Start (Object sender, EventArgs e) 
{ 
    GlobalConfiguration.Configure(WebApiConfig.Register); 
} 
  1. Beginnen Sie dann wie gewohnt mit dem Hinzufügen Ihrer Modelle und Controller.

Hoffnung diese Hilfe, M.

2

folgte ich den Anweisungen in der Antwort @ muszeo und es funktionierte.

Ich habe ein Beispielprojekt bei https://github.com/sashoalm/HelloWebApi erstellt. Es definiert einen einzelnen Controller namens HelloWebApiController, der einen Endpunkt unter http://localhost:8080/api/HelloWebApi erstellt, der eine Zeichenfolge mit "Hallo, Welt" zurückgibt.

Ich habe es auf Linux mit MonoDevelop 5.10 getestet.

Sie können es klonen mit git clone https://github.com/sashoalm/HelloWebApi.git