快速更新,因此,它在我的故障排除過程中原來的地方這個開始,如果我這樣做,從我的應用程序後的工作,但如果我採取完全相同的數據,並嘗試通過將它張貼提琴手該項目爲空。嘗試更換小提琴後,我堅持了很多「更容易」,但它看起來像燒燬了我,浪費了數小時。我也嘗試通過chromes rest客戶端發佈這些數據,但它不起作用。我希望我知道爲什麼,因爲如果我不能通過提琴手或鍍鉻物來工作,它真的會增加我未來的麻煩時間。的Web API後對象空
謝謝你試圖幫助。
我想將數據從一個winforms應用程序發佈到Web API。我最初有這個問題,但設置內容類型爲應用程序/ JSON修復它,但現在我有相同的行爲。我不記得改變什麼,但我必須有。即使我從提琴手發佈數據,也會發生這種情況。我從viemodel中刪除了一切,但刪除了1個字符串鍵值,以嘗試消除數據本身中的格式問題,但在控制器端viewmodel仍然爲空。不是價值觀,而是視角模型本身。正在達成的控制器,但就像我說的對象爲null
控制器看起來像這樣
[HttpPost] public HttpResponseMessage LogValidation([FromBody]ValidationViewModel validationviewmodel) { //Do something }
示範
public class ValidationViewModel { public string AssetName { get; set; } }
被張貼
數據{ \"AssetName\":\"testname\" }
爲了提供儘可能多的信息,當我從客戶那裏發佈信息時,我正在做以下工作。這也是我如何生成的測試數據小提琴手使用
`public Task SubmitValidation()
{
ReportValidaton reportvalidation = new ReportValidaton();
var serializedReportValidation = JsonConvert.SerializeObject(reportvalidation);
var client = new HttpClient();
client.BaseAddress = new Uri("MyURI");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeader("application/json"));
MediaTypeFormatter jsonFormatter = new JsonMediaTypeFormatter();
HttpContent content = new ObjectContent<ReportValidaton>(reportvalidation, jsonFormatter);
HttpResponseMessage response = client.PostAsync("api/LogValidation/", content).Result;
}`
您是否嘗試POST {'AssetName:\「testname \」'},您能否看到GET請求是否有效? – Ofiris 2014-10-01 16:49:06
我以前沒有,但在你的評論後,我做了同樣的結果。謝謝。我不確定發生了什麼事。這在星期四工作。甚至嘗試過我上個星期四生成的一些測試數據,以確保我使用的是相同的格式,但仍然沒有去。我還有其他一些數據類型,但爲了確保它不是數據或格式問題,而將它們全部刪除。雖然我懷疑這是正確的軌道,但有一些格式問題,我只是沒有看到它。 – Grayson 2014-10-01 16:53:34
你最近重新命名了你的參數嗎?通常當這發生在我身上時,這意味着我忘記了在重構後更新我的路由映射。 – Adam47 2014-10-01 17:46:06