繁体   English   中英

从 PostAsync 请求中获取 null Model

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM