Misalkan berikut ini adalah daftar tautan situs web video Anda.
http://www.xxxx.com/video/1
http://www.xxxx.com/video/2
http://www.xxxx.com/video/3
Kemudian selesaikan masalah ini, kita dapat menggunakan alamat pendek, tidak mengekspos tautan nyata ke dunia luar, dan menggunakan enkripsi simetris adalah solusi yang baik.
Hashids adalah pilihan yang baik, yang menyediakan bahasa pemrograman seperti JS/PHP/Java/Python.
Berikut ini adalah layanan alamat pendek Java yang dibangun oleh kerangka blade saya.
Buat tabel `t_url` (` id` int (10) bukan null auto_increment, `url` text not null, kunci primer (` id`)) engine = innodb auto_increment = 15 default charset = utf8;
rute
@PathPublic Class IndexRoute {// Salt Value Private Static Final Hashids = New Hashids ("Blade-Shorturl"); respons) {string key = req.pathparam (": key") ); ; Return "Index";} @Route (value = "/", Method = httpmethod.post) Simpan Publik (permintaan permintaan, respons respons) {string resjsp = "index"; "); If (! IsUrl (longurl)) {request.attribute (" error "," url tidak valid "); return resvsp;} integer id = this.save (longurl); if (id == 0) {ute ( UTE "ERROR", "Save Failure"); , url_hash = " + hash); return resvsp;} integer private save (string url) {return urlmodel.insert (). url) .ututeandcommit ();} private urlmodel get (int id) {urlmodel .fetchbypk (id) ;} Private final string regx = "// b (https? | Ftp | file): // [-a-za-z0-9+@#/%? = ~ |!.]*[-s-za- Z0-9+@#/%= ~ |] "; private boolean isUrl (string url) {if (stringkit.isnotblank (url)) {pola pola = pola. (Regex); pencocokan pencocokan = pola.matcher (url) ; if (matcher.find ()) {return true;}} return false;}}Efek Implementasi:
Kode Lokasi: https://github.com/bladejava/blade- shorturl
Di atas adalah semua isi artikel ini.