2017-06-22 3 views
-1

Ich weiß, es wurde eine Menge Zeit gefragt und ich habe alles versucht, aber immer noch mit dem Problem konfrontiert. Hier ist mein Code:ASP.NET Web API 2.0 Parameter Null

// POST api/<controller> 
    public string Post([FromBody]string value) 
    { 
     return value; 
    } 

Es gibt nichts Schickes nur den Wert zurückgeben. Ich benutze das PostMan Plug-In von Chrome Ich habe versucht wie 100 Mal aber immer noch den gleichen Nullwert als die Antwort. Ich habe es mit Content-Type-Anwendung/Json versucht und alles erwähnt, aber immer noch Null.

+0

Nun, wie nennt man es? Das Problem liegt offensichtlich nicht in dem Code, den Sie gepostet haben. – Amy

+0

Zeigen Sie uns auch, was Sie senden. – trashr0x

+0

Danke, mein Problem ist gelöst das Problem war in dem Objekt, das ich sendete. –

Antwort

0

Nicht wirklich sicher, was die Frage ist jedoch, was Sie suchen, ist Ihre POST mit einem einzigen Wert einzurichten.

Wie unten:

POST /api/values HTTP/1.1 
Host: localhost:50121 
Content-Type: application/json 
Accept: application/json, text/javascript 
Cache-Control: no-cache 

'abc' 

Nun ist dies ein JSON Beitrag, damit der Körper nicht einen Parameternamen hat, ist das von Entwurf, wie Sie einen einzelnen Wert Mitteilung verfassen.

Wenn Sie mehrere Werte oder ein komplexeres Objekt benötigen, sollten Sie ein class-Objekt anstelle eines einzelnen Werts verwenden. Headers

+0

Ich denke nicht, dass akzeptieren wird das Problem zu lösen akzeptieren wird verwendet, um dem Server zu sagen, senden Sie mir Antwort in dieser Form –

+1

'Accept' doesnt es zu lösen. Der 'Content-Type' und das Setup des Anfragetextes tun dies jedoch. Der 'Accept'-Header wird Web Api helfen, das Ergebnis des Anrufs zu bestimmen. Auch hier hat das keine Tragweite. https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/content-newtiation – Nico

+0

Vielen Dank. Da sich alle Fragen zu StackOverflow um komplexe JSons drehten, wurde es für mich sehr schwierig zu verstehen, wie man einen einfachen String sendet. Ich tat dies { Wert: "Hallo Welt" } anstelle von "Hallo Welt" –