##概要
Unityで開発しているクライアントアプリから入力した情報をHerokuにデプロイしたRailsAPIのサーバーにPOSTリクエストを送り、データベースに情報を送りたいのですがリクエストを送ることができません。
サーバーがローカルにある場合には問題なく、リクエストをPOSTできていたのですがHerokuにデプロイすると
リクエストを検出できなくなりました。
heroku logs -t
でログを確認してもPOST通信が行われたログが残っていません。
またクライアント側でサーバーの内容をGET通信して出力することはできているので、クライアントとサーバーとの通信自体がうまくいっていないわけではないようです。
またクライアントの通信にはUnityWebRequestを利用しております。
この場合どの部分を改善してゆけばよろしいでしょうか。何卒ご教示いただけますと幸いです。
##確認したこと
・同じコードでもローカルサーバーでPOSTリクエストは上手くゆく。
・指定先URLをlocalhost://3000/users
からhttps://example.heroku.com/users
に変更するとPOST通信ができなくなりログに通信の履歴が反映されていない。
・サーバーのトップページに簡単なJSONを返すようにしており、https://example.heroku.com/
にGeTリクエストするとクライアント側でそれを出力できる。
・curlコマンドで本番サーバーにPOST通信するとリクエストが反映される。
・UnityWebRequestのスタートコルーチン自体が動いていない。
###クライアント側の通信部分のコード
form.AddField("name", inputName); form.AddField("grade", inputGrade); form.AddField("birthday", inputBirthday); form.AddField("password", inputPassword); form.AddField("instrument", inputInstrument); //通信開始 using(UnityWebRequest www = UnityWebRequest.Post(url, form)) { yield return www.Send(); www.SetRequestHeader("Content-Type", "application/json"); www.SetRequestHeader("Accept", "application/json"); //以下が出力されない if (www.error == null){ Debug.Log("Form upload complete!"); } else { Debug.Log("Post Filure"); } } }
回答1件
あなたの回答
tips
プレビュー