Refitを使用してx-www-form-urlencodedとして API にデータを送信しようとしています。しかし、何らかの理由で応答が取得されていません。私は多くのチュートリアルを段階的に実行しましたが、何も機能しませんでした。何が問題なのですか?前もって感謝します。
リクエスト:
public class SynchronizerApiRequest
{
public SynchronizerApiRequest() { }
[JsonProperty("username")]
public string Username { get; set; }
[JsonProperty("password")]
public string Password { get; set; }
[JsonProperty("last_sync_date")]
public string LastSyncDate { get; set; }
}
応答:
public class SynchronizerApiResponse
{
public SynchronizerApiResponse() { }
[JsonProperty("success")]
public bool Success { get; set; }
[JsonProperty("tables")]
public SyncData Tables { get; set; }
}
同期データ:
public class SyncData
{
[JsonProperty("hometab")]
public List<HomeTab> HomeTabs { get; set; }
[JsonProperty("category")]
public List<Category> Categories { get; set; }
[JsonProperty("doaa")]
public List<Doaa> Doaas { get; set; }
[JsonProperty("hijri")]
public List<Hijri> Hijris { get; set; }
[JsonProperty("hijri_events")]
public List<Hijri> HijriEvents { get; set; }
}
インターフェース:
public interface ISynchronizer
{
[Post("/action.php?fn=sync")]
Task<SynchronizerApiResponse> Request([Body(BodySerializationMethod.UrlEncoded)] SynchronizerApiRequest request);
}
最後に、API を呼び出しているコード:
public async Task<SynchronizerApiResponse> GetAllData()
{
SynchronizerApiRequest request = new SynchronizerApiRequest()
{
Username = "***",
Password = "***",
LastSyncDate = Methods.IsEmpty(Methods.GetAppProperty(Constants.LAST_SYNC_DATE)) ? ""
: Methods.GetAppProperty(Constants.LAST_SYNC_DATE)
};
syncrhonizer = RestService.For<ISynchronizer>(Constants.BASE_ADDRESS);
SynchronizerApiResponse response = await syncrhonizer.Request(request);
System.Diagnostics.Debug.Write(">>>>>>>>>>>>>>>>>>>>>>>>>>>>." + response.Success + " " + response.Tables.HomeTabs.Count);
return response;
}