2013-03-11 85 views
17

我想弄清楚新的ASP.NET Web API。發佈數據到asp.net Web API

到目前爲止,我已經能夠創建此方法的簽名,並連接到它只是罰款,並得到有效的迴應...

[HttpPost] 
public HttpResponseMessage CreateAccount() 

我能請求發送給此方法與小提琴手和已經驗證它正在接收請求。

但是,當我嘗試傳遞數據時,當我遇到問題。

我想的第一件事就是...

[HttpPost] 
public HttpResponseMessage CreateAccount([FromBody]string email, [FromBody]string password) 

而且I型

電子郵件:XYZ,密碼:ABC

到提琴手的請求的主體。當我這樣做時,我得到一個500錯誤,說明

'無法將多個參數('email'和'password')綁定到請求的內容。

我自己也嘗試這是一個方法的簽名...

[HttpPost] 
public HttpResponseMessage CreateAccount([FromBody]UserAccountRequestData data) 

與UserAccountRequestData是一個簡單的POCO

public class UserAccountRequestData 
{ 
    public string Email { get; set; } 
    public string Password { get; set; } 
} 

我把

{電子郵件:XYZ,密碼:abc}

or

數據:{Email:xyz,密碼:abc}

進入請求的正文。在試圖填充POCO的兩種情況下,我都能夠在調試時訪問該方法,但數據對象始終爲空。

我需要了解如何創建接受強類型POCO和接受多種基本類型(如字符串和整數)的API方法。

感謝

回答

17

您需要的Content-Type頭設置爲application/json,然後提供有效的JSON。

{"Email":"xyz","Password":"abc"} 
+2

+1對Darrel米勒答案。你也可以參考給出的[發送JSON對象到Web API]給出的答案(http://stackoverflow.com/questions/13870161/sending-json-object-to-web-api)。它確實爲您提供了一個示例代碼。 – 2013-03-11 15:16:07

相關問題