Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mencetak laluan url tanpa parameter?

Bagaimana untuk mencetak laluan url tanpa parameter?

王林
王林ke hadapan
2024-02-11 18:57:231124semak imbas

Bagaimana untuk mencetak laluan url tanpa parameter?

editor php Strawberry di sini untuk memperkenalkan kepada anda cara mencetak laluan url tanpa parameter. Dalam pembangunan web, kita selalunya perlu mendapatkan URL halaman semasa dan mengalih keluar bahagian parameter, hanya meninggalkan bahagian laluan. Kelebihan ini ialah ia boleh menjadikan URL lebih ringkas, dan ia juga bermanfaat untuk pengoptimuman SEO. Dalam PHP, kita boleh melaksanakan fungsi ini melalui beberapa kod mudah. Seterusnya, saya akan memperkenalkan kaedah pelaksanaan khusus secara terperinci. Mari belajar bersama!

Kandungan soalan

Saya mempunyai api yang tenang menggunakan gorila/mux. Ia diparameterkan dalam laluan. Saya menciptanya seperti ini:

r := mux.NewRouter()
subr := r.PathPrefix("/v1").Subrouter()
subr.Handle("/organizations/{orgId}/projects/{projectId}", CreateProject()).Methods(http.MethodPost)

Namun, apabila menangkap permintaan dan mencatat keputusan, saya tidak mahu log itu

/组织/fff-555-aaa9999/projects/amazing-project

Ini yang saya dapat dengan menghuraikan nilai r *http.request.url.

Sebaliknya, saya ingin mendapatkan nilai penghala awal /organizations/{orgid}/projects/{projectid} supaya saya boleh menapis itu dalam pengelogan.

Menggunakan gorila/mux, adakah terdapat cara untuk mendapatkan laluan penghala tanpa parameter sebenar, tetapi sebaliknya mendapatkan pembolehubah parameter?

Penyelesaian

Dalam fungsi createproject anda boleh menggunakan ini:

func CreateProject(w http.ResponseWriter, r *http.Request) {
    path, _ := mux.CurrentRoute(r).GetPathTemplate()
    fmt.Println(path)
}

Atas ialah kandungan terperinci Bagaimana untuk mencetak laluan url tanpa parameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam