Я очень новичок в C #.Я пытаюсь разработать мультиплатформенное приложение, которое использует Web Api, загруженный на мой сервер.
Вот код для GET / POST:
public async void post_async(object sender, System.EventArgs e)
{
Console.WriteLine("POST");
try
{
HttpClient httpClient = new HttpClient();
var uri = new Uri("https://mywebsite");
var item = new users_model { username = "prove_username", email = "prove_mail", password = "prove_pwd", ranking = "prove_ranking"};
var json = JsonConvert.SerializeObject(item, Formatting.Indented);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var httpContent = new StringContent(json);
var response = await httpClient.PostAsync(uri, httpContent);
var message = await response.Content.ReadAsStringAsync();
Console.WriteLine($"STATUS CODE POST: " + response.StatusCode);
Console.WriteLine($"REQUEST MESSAGE POST: " + response.RequestMessage);
Console.WriteLine($"CONTENT POST: " + message);
//Console.WriteLine($"DATA POST: " + item.username);
}
catch (Exception er)
{
Console.WriteLine($"ERROR: " + er.ToString());
}
}
async void get_async(object sender, System.EventArgs e)
{
try
{
HttpClient httpClient = new HttpClient();
var uri = new Uri("https://mywebsite");
var response = await httpClient.GetAsync(uri);
var message = await response.Content.ReadAsStringAsync();
Console.WriteLine($"STATUS CODE GET: " + response.StatusCode);
Console.WriteLine($"REQUEST MESSAGE GET: " + response.RequestMessage);
Console.WriteLine($"CONTENT GET: " + message);
}
catch (Exception er)
{
Console.WriteLine($"ERROR: " + er.ToString());
}
}
Вот код контроллера:
public class users_model
{
public string username { get; set; }
public string email { get; set; }
public string password { get; set; }
public string ranking { get; set; }
}
Вот код Web Api:
[HttpGet]
public async Task<List<users_model>> getAllUsers ()
{
FirebaseClient firebase = new FirebaseClient("https://myFirebaseSite/");
Items = new List<users_model>();
Items = (await firebase.Child("users").OnceAsync<users_model>()).Select(item => new users_model
{
username = item.Object.username,
email = item.Object.email,
password = item.Object.password,
ranking = item.Object.ranking
}).ToList();
return Items;
}
[HttpPost]
public IActionResult addUser([FromBody] users_model new_user)
{
return Ok($"post ok. username: " + new_user.username);
}
Если я вызываю get_async => нет проблем, если я вызываю post_async, я получаю "NotFound".Если я использую [ActionName ("void_name")] вместо [HttpPost] и [HttpGet], я получаю «UnsupportedMediaType»
Я даже пытался использовать NUGet «RestSharp», но у меня возникла та же проблема.Пожалуйста, помогите мне, это 3 дня, я не могу найти, как решить проблему :(