[英]Post Request not receiving any Data
我正在嘗試從 Unity 發出 PostRequest,以在數據庫中創建一個新帳戶。 當我運行 Post Request 功能(單擊提交按鈕)時,會在數據庫中創建一個新帳戶,但所有值都為空。 我無法在控制器上獲取任何數據。 我將數據作為 Json 格式的字符串發送。 任何幫助表示贊賞。
控制器:
[HttpPost]
public string Post([FromForm] Account data )
{
Console.WriteLine("Data user name: " +data.userName);
db.Accounts.Add(data);
db.SaveChanges();
Console.WriteLine(data);
return "success";
}
來自 Unity 的 PostRequest
public void AddAccount()
{
WebRequest request = (HttpWebRequest)WebRequest.Create("https://localhost:44301/accounts" );
request.Method = "POST";
string json = " { \"highScores\":[],\"lazyLoader\":{},\"userName\":user\",\"password\":testpassword",\"displayName\":name"} ";
byte[] byteArray = Encoding.UTF8.GetBytes(json);
request.ContentType = "application/json; charset=UTF-8";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Debug.Log(((HttpWebResponse)response).StatusDescription);
using (dataStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Debug.Log(responseFromServer);
}
}
您正在發送類型為application/json
內容正文。 表單數據通過x-www-form-urlencoded
。 您需要在控制器操作[FromBody]
參數綁定器[FromForm]
更改為[FromBody]
。
其次, " { \\"highScores\\":[],\\"lazyLoader\\":{},\\"userName\\":user\\",\\"password\\":null,\\"displayName\\":null} "
是不是有效的 Json。當您更改為FromBody
綁定程序時,反序列化器將拋出序列化異常。您還需要修復 json 數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.