so speichern Sie ein Objekt verwenden .net webapi

Habe ich erstellen WebAPI .net (meine erste). Mit dieser api-Objekt aus db-Abfrage von db etc ist für mich einfach. Nichts neues

Aber ich Frage mich, wie so speichern Sie ein Objekt mit diesem webapi ?

Habe ich ein clinet-Anwendung (tablet, Smartphone, PC), die die Kommunikation mit meinen webapi. Aus meiner Anwendung gibt es eine Möglichkeit zum speichern einer user-news. Jetzt brauche ich um es zu speichern in der db. Ich verwende Azure SQL. Nun, wie kann ich diese übergeben Objekt-API, so kann ich es speichern ?

Für meine Anwendung verwende ich C#/XAML
Für meinen WebAPI, die ich verwende .NET

Ich bin tring mit diesem code:

HttpClient httpClient = new HttpClient();
        String u = this.apiUrl + "sd/Localization/insert";
        Uri uri = new Uri(u);
        HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, uri);

Aber ich weiß nicht, wie Objekt senden ? Sollte ich es zu serialisieren ? Wenn ja, wie senden Sie es per post.

//UPDATE

Habe ich gebaut dieser

        HttpClient httpClient = new HttpClient();
        String u = this.apiUrl + "sd/Localization/insert";
        Uri uri = new Uri(u);
        HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, uri);
        httpRequestMessage.Content = new StringContent("{'Name':'Foo', 'Surname':'Bar'}");
        await httpClient.PostAsync(uri, httpRequestMessage.Content);

Aber in meinem API-die variable ist null

Dies ist der code aus meinem api -

    //POST sd/Localization/insert
    public void Post(string test)
    {
        Console.WriteLine(test);
    }

Den "test" die variable ist null.
Was mache ich falsch ?

//UPDATE 2

        using (HttpClient httpClient = new HttpClient())
        {
            String u = this.apiUrl + "sd/Localization/insert";
            Uri uri = new Uri(u);
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, uri)
            {
                Method = HttpMethod.Post,
                Content = new StringContent("my own test string")
            };

            await httpClient.PostAsync(uri, request.Content);
        }

Routing-config

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "sd/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

nach allen Antworten, die ich erstellt habe, aber trotzdem bekomme ich null auf param in meiner api. Wo ist der Fehler???

InformationsquelleAutor Fixus | 2012-07-27

Schreibe einen Kommentar