[英]Getting null Model from PostAsync Request
我正在兩個微服務之間進行通信。 我正在嘗試從 model“UserBookPreference”獲取內容。 我已經調試過並且在PostAsync()
請求中發送的內容是正確的(比方說,來自微服務 A 的數據)。 當我嘗試從微服務 B 中的 Post 方法接收內容時出現問題。我作為參數的 model 類型與我從 postAsync 發送的類型相同。 由於我使用的是 .NET 5,根據我的研究, JsonContent.Create()
方法是一種很好的方法。 我嘗試了其他方法,例如使用StringContent()
方法,但我仍然在微服務 B 中得到 null object。這是我正在使用的代碼。 在微服務 A 中:
public async Task<string> AddFavoriteBook(UserBookPreference bookModel)
{
JsonContent content = JsonContent.Create(bookModel);
var response = await httpClient.PostAsync(URLHelper._baseUserPreferencesMicroserviceURL + "/Book", content);
var responseString = await response.Content.ReadAsStringAsync();
return responseString;
}
在微服務 B 中:
[HttpPost("Favorites/Book")]
public IActionResult AddUserFavoriteBook(UserBookPreference bookModel)
{
try
{
_prefService.AddUserBookFavorite(bookModel);
return Ok(bookModel);
}
catch (Exception ex)
{
return BadRequest(new { message = ex.Message });
}
}
感謝您的時間。
您需要在端點中的UserBookPreference
之前添加[FromBody]
屬性,或者將 [ApiController [ApiController]
屬性添加到您的 controller 以將UserBookPreference
綁定到傳入的正文。 碼頭
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.