服务返回空列表到Api控制器

时间:2017-06-15 07:57:08

标签: javascript asp.net-mvc-5 asp.net-core azure-service-fabric

我在服务架构微服务中工作,我需要获取对象的记录。当我向API发送请求时,它显示空列表,而其余数据就位。在调试时,我发现在返回API控制器之前,我的服务对象具有所有预期的数据,即列表中有数据,但是当它返回到Web API时,列表为空。 在通过Web搜索解决方案后,我发现每次向API发出请求时都会重新创建列表,因此它会显示空结果。任何解决方案都可以解决这个问题? 这是我的一段代码。 以下是Web Api方法。

[HttpGet()]
[Route("edit/{readingListId}")]
[ProducesResponseType(typeof(List<GetReadingListDTO>), (int)HttpStatusCode.OK)]
[ProducesResponseType(typeof(List<GetReadingListDTO>), (int)HttpStatusCode.BadRequest)]
public async Task<IActionResult> GetReadingListById(int readingListId)
{
    try
    {
        var readingList = await this._readingListService.GetReadingListByIdAsync(readingListId);
        return Ok(readingList);

    }
    catch (Exception ex)
    {
        this._logger.LogError(ex.Message);
        return BadRequest();
    }

}

以下是服务方法。

 public async Task<Domain.ReadingList> GetReadingListByIdAsync(int readingListId)
        {
            try
            {
                Domain.ReadingList  readingList = await _repository.FindById(readingListId);
                return readingList;
            }
            catch (Exception ex)
            {

                throw;
            }
        }

此外,这是我的实体。

    public class ReadingList : EntityBase, IAggregateRoot, IAggregateCreateRoot, IAggergateUpdateRoot, IAggregateDeleteRoot
    {
        public ReadingList()
        {

            this.Items = new List<ReadingListItem>();
            this.Assignees = new List<ReadingListAssignee>();
        }
        public int Id { get; set; }
        public EntityType EntityTypeId { get; set; }
        public int EntityId { get; set; }
        public string Title { get; set; }
        public DateTime CompletionDate { get; set; }
        public int ReminderDay { get; set; }
        public string ReminderDayType { get; set; }
        public bool  SendReminder { get; set; }
        public int CreatedBy { get; set; }
        public DateTime CreatedDate { get; set; }

        public int? UpdatedBy { get; set; }
        public DateTime? UpdatedDate { get; set; }

        public int? DeletedBy { get; set; }
        public DateTime? DeletedDate { get; set; }
        public bool? Deleted { get; set; }


        public List<ReadingListItem> Items { get; private set; }
        public List<ReadingListAssignee> Assignees { get; private set; }
}

谢谢!

被修改

问题已得到解决,只需更改dll Versions.One的服务已经和旧版本,而版本在另一个版本更新。 谢谢你的帮助。

0 个答案:

没有答案