public async Task <ActionResult <Samurai> > GetSamurai(int id) { var key = CacheKeys.CacheKeySamurai(id); var cachedSamurai = await _samuraiCacheService.GetCacheValueAsync(key); if (cachedSamurai != null) { return(Ok(cachedSamurai)); } var samurai = await _businessLogicData.GetSamurai(id); if (samurai == null) { return(NotFound()); } var samDto = new SamuraiDto { Name = samurai.Name }; await _samuraiCacheService.SetCacheValueAsync(key, samDto); return(Ok(samDto)); }