我正在使用POSTing处理UnityWebRequests数据。不幸的是,这是行不通的,虽然我没有收到任何错误。
我用ASP.NET内核制作了一个API,它正在工作(用邮递员测试)。我尝试了多个“解决方案”:发送字节、字符串中的JSON、请求头、WWW,但它们似乎都不起作用。
API控制器中的POST部件
// POST: api/Todo
[HttpPost]
public async Task<ActionResult<LeaderboardItem>>
PostLeaderboardItem(LeaderboardItem item)
{
_context.LeaderboardItems.Add(item);
await _context.SaveChangesAsync();
return CreatedAtAction(nameof(GetLeaderboardItem), new { id = item.Id }, item);
}UnityWebRequest
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System;
using UnityEngine.Networking;
[Serializable]
public class MiniGame
{
public int id;
public int teamId;
public int score;
}
public class JSON_Test : MonoBehaviour
{
void Start()
{
MiniGame miniGame = new MiniGame();
miniGame.id = 9999;
miniGame.teamId = 10;
miniGame.score = 10;
StartCoroutine(PostRequest(miniGame));
}
public IEnumerator PostRequest(MiniGame miniGame)
{
string jsonData = JsonUtility.ToJson(miniGame);
Debug.Log(jsonData);
using (UnityWebRequest request =
UnityWebRequest.Get("https://localhost:44326/api/leaderboard"))
{
request.method = UnityWebRequest.kHttpVerbGET;
request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("Accept", "application/json");
yield return request.SendWebRequest();
//if (!request.isNetworkError && request.responseCode == (int)responseCodes.OK)
//{
// Debug.Log("Data succesfully sent to the server");
//}
//else
//{
// Debug.Log("Error sending data to the server");
//}
}
}
}有什么帮助吗?
发布于 2019-05-29 11:28:51
我有一些模拟问题,从asp核心web api获取请求。对于我来说,解决方案是使用http而不是https作为web api。
发布于 2019-03-28 11:00:57
UnityWebRequest.Get("https://localhost:44326/api/leaderboard"))
尝试使用本地ip地址,而不是本地主机。
https://stackoverflow.com/questions/54873515
复制相似问题