如何解决如何使用字典作为api的数据?
我有一个这样创建的字典
var projects = new Dictionary<string,string>
{ {"7000316139.13.01","Project 1" },... (all the records in the dictionary are sequential from here)
}
我有一个看起来像这样的get函数
public IActionResult GetProjectByProjectCode(string projectCode)
{
try
{
var project = _repository.Project.GetProjectByProjectCode(projectCode);
if (project == null)
{
_logger.LogError($"Project with project code {projectCode},has not been found in db.");
return NotFound();
}
else
{
_logger.LogInfo($"Returned project with project code {projectCode}");
var projectResult = _mapper.Map<ProjectDto>(project);
return Ok(projectResult);
}
}
catch (Exception ex)
{
_logger.LogError($"Something went wrong inside GetProjectByProjectCode action: {ex.Message}");
return StatusCode(500,"Internal server error");
}
}
我需要的是访问Dictionary作为get方法的数据源。
我试图直接将字典直接放入get方法中,但失败了。
我希望看到的结果如下: 7000316139.13.01项目1
这是存储库代码
public Project GetProjectByProjectCode(string projectCode)
{
return FindByCondition(project => project.ProjectCode.Equals(projectCode))
.FirstOrDefault();
}
我希望这会有所帮助
解决方法
您可能想添加_repository.Project.GetProjectByProjectCode方法的另一个“模拟”实现,也许重新实现包含该方法的整个类。该实现应从内联字典而不是数据库中获取值。 然后,当您处于“测试模式”时,添加一些机制以使用替代实现,否则,将添加标准实现。
除此之外,我建议您阅读有关单元测试范例以及相关工具和技术的一些东西。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。