2017-06-22 97 views
-1

我知道已經問了很多時間,我試過了所有的東西,但仍然面臨問題。這裏是我的代碼:ASP.NET Web API 2.0參數爲空

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

沒有什麼花哨只是返回值。 我正在使用Chrome的PostMan插件 我已經嘗試了100次,但仍然獲得與響應相同的空值。我已經嘗試過Content-Type application/json和所有提到的內容,但仍然爲空。

+0

那麼,你是怎麼稱呼它的?問題顯然不在您發佈的代碼中。 – Amy

+0

向我們展示您發送的內容。 – trashr0x

+0

謝謝,我的問題已解決,問題出在我發送的對象上。 –

回答

0

不太確定問題是什麼,但是您正在尋找的是使用單個值設置您的POST

如下面:

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

'abc' 

現在,這是一個JSON後使人體沒有一個參數的名字,這是由設計,你要發送一個單值。

如果您需要多個值或更復雜的對象,則應使用class對象而不是單個值。 HeadersBody

+0

我不認爲接受將解決問題接受是用來告訴服務器發送給我這種形式的回覆 –

+1

'接受'不解決它。然而'Content-Type'和請求體的設置確實如此。 「Accept」頭將幫助Web Api確定調用的結果。在這種情況下再次沒有軸承。 https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/content-negotiation – Nico

+0

非常感謝。由於StackOverflow上的所有問題都是關於複雜的json,所以我很難理解如何發送一個簡單的字符串。我正在這樣做 值:「Hello World」 } 而不是「Hello World」 –