UnityWebRequest POST не отправляется в ASP.NET API - PullRequest
0 голосов
/ 25 февраля 2019

Я работаю над размещением данных с помощью UnityWebRequests.К сожалению, это не работает, хотя я не получаю никаких ошибок.

Я создал API с ASP.NET Core, который работает (протестировано с Postman).Я пробовал несколько «решений»: отправка байтов, JSON в строке, заголовки запроса, WWW, но ни одно из них, похоже, не работает.

POST-часть в контроллере API

    // 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");
        //}
    }
   }
 }

Любая помощь?

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

У меня есть какая-то проблема с запросом get от asp core web api.Решение для меня было использовать http вместо https для веб-API

0 голосов
/ 28 марта 2019

UnityWebRequest.Get("https://localhost:44326/api/leaderboard"))

Попробуйте использовать свой локальный IP-адрес вместо localhost.

...