Ich versuche, eine WebAPI mit HttpClient mit einem Authentifizierungstoken zu buchen.Wie man zu WebApi mit HttpClient schreibt?
Allerdings bekomme ich immer Standardwerte auf der WebAPI-Methode nicht die tatsächlichen Werte, die ich sende.
Dies ist mein Code:
C# Konsole APP:
public static async Task<string> Rent(HttpClient client, string token, int idCommunityAmenity, int idHome, DateTime startDate, DateTime endDate)
{
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:50634/api/amenity/RentCommunityAmenity");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
var postContent = new
{
idCommunityAmenity = idCommunityAmenity,
idHome = idHome,
startDate = startDate,
endDate = endDate
};
request.Content = new StringContent(JsonConvert.SerializeObject(postContent), Encoding.UTF8, "application/json");
var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}
WebAPI
[HttpPost("RentCommunityAmenity")]
public async Task<JsonResult> Post([FromBody]int idCommunityAmenity, [FromBody]int idHome, [FromBody]DateTime startDate, [FromBody]DateTime endDate)
{
var communityAmenity = new AmenityReservation
{
IdCommunityAmenity = idCommunityAmenity,
StartDate = startDate,
EndDate = endDate,
IdHome = idHome
};
_context.AmenityReservation.Add(communityAmenity);
await _context.SaveChangesAsync();
return new JsonResult(true);
}
Meine Vermutung ist, dass der Inhalt nicht korrekt eingestellt wird, denn wenn ich es prüfen Ich sehe die JSON-Zeichenfolge nicht.
Wenn ich die Post-Methode traf ich: idCommunityAmenity = 0, idHome = 0, ...
Danke für die Hilfe.