1

我使用asp.net 1.1核心的VisualStudio與社區2017開發Web應用程序,在這個應用程序,我使用Web的API服務,這一點:Asp.Net 1.1核心使用Web API

public static T SendPostRequest<T>(string pController, T pParam){ 
    using (HttpClient client = new HttpClient()){ 
    string uri = API_URL + pController; 
    client.DefaultRequestHeaders.Accept.Clear(); 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
    var jsonInString = JsonConvert.SerializeObject((T)pParam); 
    var content = new StringContent(jsonInString, Encoding.UTF8, "application/json"); 
    var result = client.PostAsync(uri, content).Result; 
    return JsonConvert.DeserializeObject<T>(result.Content.ReadAsStringAsync().Result); 
} 

}

當此代碼到達api控制器時,我的對象爲null,但jsonInString具有我的對象的值。 同樣的錯誤傳球,當我用郵遞員,使用原始和JSON(應用/ JSON),如果你看到我的對象的屬性是空

enter image description here

但是,如果使用的郵遞員與形式的數據,在我apicontroller我recive我的對象的數據屬性,我需要你們的幫助,我怎麼能接受我的對象的值,當我在我的asp.net芯板從代碼發送,我希望你的幫助

enter image description here

+1

更改'FromForm' - >'FromBody' – ColinM

+0

是!只需將FromForm改爲FromBody即可 –

回答

0

能夠正確處理到達網絡的數據roller api net.core 1.1,我推薦你使用我在下面指出的內容。

[Route("GetAll")] 
    [HttpPost] 
    ...here your security directives 
     **example** 
    [AllowAnonymous] 
    public JsonResult GetAll([FromBody]MupdateDto data) 
    { 
     try 
     { 
      List<MupdateDto > result = Service.GetAll(data);  

      return Json(response); 
     } 
     catch (Exception ex) 
     { 

      response.GenerateResponse(TransData.ResponseKo(ex.Message, -69), null, null); 
      throw; 
     } 


    } 

可以看出的是,在臺,要被接收

方法CONTROLLER呼叫路徑〔路線(「GETALL」)]指示和參數的類型[FromBody]。 例如結構

public class MupdateDto 
{ 

    /// <summary> 
    /// data 
    /// </summary> 
    public string data{ get; set; } 

    /// <summary> 
    /// Update 
    /// </summary> 
    public DateTime Update { get; set; } 

    /// <summary> 
    /// Lparam 
    /// </summary> 
    public long Lparam { get; set; } 


} 
與你的服務器,使從郵遞員的電話有以下考慮

- 選擇標記的方法

enter image description here

的裝修類型

現在

- 現在是編寫數據的時間,而不是像上面所指出的那樣將它們作爲類型表單傳遞,我建議您通過他們爲RAW,正如我在下面 enter image description here

你能確定是什麼類型的數據我送的是錯字JSON enter image description here

只是一兩件事,請記住,在漫天的數據RAW是模型在服務器上等待的類型,如果您有long類型的屬性,並且在該RAW屬性中填充的值是字符串,則其對象將變爲null。

我希望你能正確的解釋我,這會對你有所幫助。 問候