C#长短链接服务器端WebApi作映射
[HttpGet] public IHttpActionResult GetLongLink(string code) { if (string.IsNullOrWhiteSpace(code)) { return Redirect(Request.RequestUri.AbsoluteUri.ToString() + "Home/Index");//跳转到Home/index } var longlink = Redis.GetValue(code).Replace("\"", "");//取出来的带有\"所以去掉它 if (string.IsNullOrWhiteSpace(longlink)) { return Json(new { error = 1, msg = "链接已经失效" }); } return Redirect(longlink); } [HttpGet] public IHttpActionResult GetShortLink(string longlink) { if (string.IsNullOrWhiteSpace(longlink)) { return Json(new { error = 1, msg = "长链接不能为空" }); } if (longlink.IndexOf("http://") != 0 && longlink.IndexOf("https://") != 0) { return Json(new { error = 1, msg = "长链接格式有误" }); } var shortCode = Utils.ShortUrl(longlink)[0];//短网址算法计算出的值拿第一个 Redis.SetValue(shortCode, longlink, DateTime.Now.AddDays(30)); var shortlink = Request.RequestUri.Authority.ToString() + "/" + shortCode;//拼接完整的链接(这里不带http不过没啥影响,需要的话也可以拼上去) return Json(new { error = 0, msg = "成功", shortlink }); }