2016-11-17 3 views
0

Ich bin neu in der .NET/MVC/Web-API. Ich habe eine .NET-Web-API erstellt, die die Eingabeparameter Queries the OracleDatabase akzeptiert und das Ergebnis in JSON zurückgibt. Ziemlich viel nach den einfachen C# -Codes. Mein Controller sieht aus wieKonfigurieren der Web-API zum Bereitstellen von Metadaten

public class DataController : ApiController 
{ 
    [HttpGet] 
    public HttpResponseMessage Getdetails(string ROOM, DateTime DOB_GT) 
    { 
      List<OracleParameter> prms = new List<OracleParameter>(); 
      prms.Add(new OracleParameter("ROOM", OracleDbType.Varchar2, ROOM, ParameterDirection.Input)); 
      prms.Add(new OracleParameter("DOB_GT", OracleDbType.Date, DOB_GT, ParameterDirection.Input)); 
      string connStr = ConfigurationManager.ConnectionStrings["SDataBaseConnection"].ConnectionString; 
      using (OracleConnection dbconn = new OracleConnection(connStr)) 
      { 
       DataSet userDataset = new DataSet(); 
       var strQuery = "SELECT * from SAMPLE_RESULTS_VW where ROOM = :ROOM and DOB > :DOB_GT "; 
       var returnObject = new { data = new OracleDataTableJsonResponse(connStr, strQuery, prms.ToArray()) }; 
       var response = Request.CreateResponse(HttpStatusCode.OK, returnObject, MediaTypeHeaderValue.Parse("application/json")); 
       ContentDispositionHeaderValue contentDisposition = null; 
       if (ContentDispositionHeaderValue.TryParse("inline; filename=TGSData.json", out contentDisposition)) 
       { 
        response.Content.Headers.ContentDisposition = contentDisposition; 
       } 
       return response; 
      } 

Das funktioniert perfekt. Jetzt fordert die Client-Anwendung die Metadaten an. Sie können also die Metadaten aus dem Service abrufen. Ich bin mir nicht sicher, ob wir die vorhandene API zur Bereitstellung von Metadaten konfigurieren können. Oder wir müssen von Anfang an Smoothing machen

Antwort

4

Es gibt einige Projekte in Form von NuGet-Paketen, die Ihnen dabei helfen können. Also keine Notwendigkeit, es von Grund auf neu zu schreiben.

Sie können Swagger hinzufügen, um Metadaten Ihrer API bereitzustellen. Siehe https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger und https://github.com/domaindrivendev/Swashbuckle

Mit den Asp.Net Web Api Hilfeseiten (https://www.nuget.org/packages/Microsoft.AspNet.WebApi.HelpPage/) Sie Unterstützung WADL hinzufügen können mit https://www.nuget.org/packages/leeksnet.AspNet.WebApi.Wadl/

Verwandte Themen