public async Task <string> Post([FromBody] string url) { // try to find the exact url in db var id = await _db.UrlMaps.Where(x => x.Url == url).Select(x => x.Id).FirstOrDefaultAsync().ConfigureAwait(false); if (id == 0) { var entry = await _db.UrlMaps.AddAsync(new UrlMap { Url = url }).ConfigureAwait(false); await _db.SaveChangesAsync().ConfigureAwait(false); id = entry.Entity.Id; } var hash = _hashService.IdToHash(id); return(hash); }