2017-05-09 37 views
0

這是apiControllerFromBody值獲得的Web API空

[HttpPost] 
public String Post([FromBody]String key) 
{ 

    Users ws; 
    try 
    { 
     ws = JsonConvert.DeserializeObject<Users>(key); 
     // return "success "+ key; 
     return db.InsertFineInfo(ws); 
    } 
    catch (Exception ex) 
    { 
     return "ERROR Testing Purposes: " + ex; 
    } 

} 

這是我的模型CALSS的一部分,我的帖子的方法(用戶級)有許多屬性,但在這裏我已經提到只有少數的EM getter和setter

{ 

    private String UserID; 
    private String UserName; 
    private String UserHeight; 
    private String UserWeight; 
    private String UserBMI; 
    private String RequiredNeutrition; 

    public string UserID1 
    { 
     get 
     { 
      return UserID; 
     } 

     set 
     { 
      UserID = value; 
     } 
    } 

我試着用郵差。在每一次嘗試,我得到了關鍵的空值調用此POST方法。

this is how i tried the post method with one header parameter application/json

出了什麼問題?方法有問題或我嘗試調用它的方式?

+0

而不是到圖像的鏈接...爲什麼不能在JSON只貼上您發送? – Mick

+0

你能編輯這篇文章並提供你想要傳遞給你的web API方法的完整代碼: – Mick

+0

{ 「key」:{ 「UserId」:「1」, 「UserName」:「senura 」 「U_Height」: 「45」, 「U_Weight」: 「44」, 「U_BMI」: 「11」, 「R_Neutro」: 「44」 } } – blueAko

回答

-1

你有你的輸入模型作爲一個C#類,然後採取類型作爲輸入。 假設你已經有一個「用戶」類,具有相同的屬性JSON,您在請求體發送:

[HttpPost] 
public String Post([FromBody]User user) 
{ 
    try 
    { 

     return db.InsertFineInfo(user); 
    } 
    catch (Exception ex) 
    { 
     return "ERROR Testing Purposes: " + ex; 
    } 

} 
1

OK幾個百分點......

首先在你的JSON方法將期待會是什麼樣子

{ 
    "key": "your string....." 
} 

其次您提供的代碼是有點直覺......爲什麼就不能有

[HttpPost] 
public String Post([FromBody]Users ws) 
{ 
    ... // Done ? 
} 

您需要發佈更多的代碼,我可以給你一個正確的答案,以什麼JSON會是什麼樣子,將通過上述方法被接受。

在網頁API在參數來通過爲空,你可以相當肯定的是,JSON發送到方法不匹配時序列化參數的JSON字符串生成的JSON。

+0

我能得到你的電子郵件,如果你不不介意?然後我分享 – blueAko

+0

@blueAko - 只需在上面的問題中分享它。 –

+0

@blueAko遺憾不會給了一個電子郵件地址,以隨機的人在互聯網上 – Mick