Hasil Pembelajaran Utama
<code class="language-bash">mkdir url-shortener cd url-shortener go mod init github.com/<username>/url-shortener</code>
untuk pengurusan ketergantungan. Ganti go.mod
dengan nama pengguna github anda. <username>
<code>url-shortener/ ├── handlers/ # API request handlers │ └── handlers.go ├── models/ # Data structures │ └── url.go ├── router/ # Routing configuration │ └── router.go ├── storage/ # Redis interaction logic │ └── redis-store.go ├── main.go # Application entry point ├── Dockerfile # Docker build instructions ├── docker-compose.yml # Docker Compose configuration └── go.mod # Go module file</code>
<code class="language-bash">go get github.com/go-redis/redis/v8 go get github.com/gorilla/mux</code>
4. Definisi Model Data
models/url.go
<code class="language-go">package models type ShortenRequest struct { URL string `json:"url"` } type ShortenResponse struct { ShortURL string `json:"short_url"` }</code>
storage/redis-store.go
<code class="language-go">// ... (RedisStore struct and methods as in original example) ...</code>
6. Pelaksanaan Handler API
handlers/handlers.go
<code class="language-go">// ... (ShortenURL, RedirectURL, GetTopDomains functions as in original example) ...</code>
7. Persediaan Laluan
router/router.go
<code class="language-go">// ... (SetupRouter function as in original example) ...</code>
8. Titik Kemasukan Aplikasi
main.go
Ini memulakan penghala dan memulakan pelayan, melayari semua laluan berdaftar.
<code class="language-go">// ... (main function as in original example) ...</code>
Buat
Dockerfile
10. Konfigurasi Docker-compose.yml
<code class="language-dockerfile">// ... (Dockerfile content as in original example) ...</code>
docker-compose.yml
11. Pelaksanaan Permohonan
<code class="language-yaml">// ... (docker-compose.yml content as in original example) ...</code>
12. API Endpoint Testing
<code class="language-bash">docker-compose up --build</code>
menguji titik akhir API menggunakan alat seperti Postman atau Curl (contoh yang disediakan dalam respons asal).
Anda telah berjaya membina perkhidmatan pemendekan URL! Projek ini menunjukkan kemahiran praktikal, redis, dan docker.
Pertimbangkan sambungan ini:
Kod lengkap tersedia [pautan ke repositori]. Ingatlah untuk menggantikan ruang letak seperti <username>
dengan nilai sebenar anda.
Atas ialah kandungan terperinci Perkhidmatan Pemendekan URL Menggunakan GO. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!