从 PostAsync 请求中获取空模型

Getting null Model from PostAsync Request

我正在两个微服务之间进行通信。我正在尝试从“UserBookPreference”模型中获取内容。我已经调试过 PostAsync() 请求中发送的内容是正确的(比方说,来自微服务 A 的数据)。当我尝试从微服务 B 中的 Post 方法接收内容时出现问题。我作为参数的模型类型与我从 postAsync 发送的相同。由于我使用的是 .NET 5,因此根据我的研究,JsonContent.Create() 方法是一种很好的方法。我尝试了其他方法,例如使用 StringContent() 方法,但我仍然在微服务 B 中得到空对象。这是我正在使用的代码。 在微服务 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] 属性以将 UserBookPreference 绑定到传入正文。 docks