From 1272615d50c3da0b073096ec65fd5a59cbc8c0c0 Mon Sep 17 00:00:00 2001 From: ZhenYi <434836402@qq.com> Date: Fri, 17 Apr 2026 16:10:23 +0800 Subject: [PATCH] fix(api): fix refs route order to prevent shadowing Move specific routes (/refs/rename, /refs/update) before parameterized routes (/refs/{name}) to avoid route shadowing. --- libs/api/git/mod.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libs/api/git/mod.rs b/libs/api/git/mod.rs index fbdf83e..80c6ca0 100644 --- a/libs/api/git/mod.rs +++ b/libs/api/git/mod.rs @@ -258,13 +258,14 @@ pub fn init_git_routes(cfg: &mut web::ServiceConfig) { "/diff/side-by-side", web::get().to(diff::git_diff_side_by_side), ) - // refs + // refs - specific routes first, then parameterized routes .route("/refs", web::get().to(refs::git_ref_list)) .route("/refs", web::post().to(refs::git_ref_create)) - .route("/refs/{name}", web::get().to(refs::git_ref_get)) - .route("/refs/{name}", web::delete().to(refs::git_ref_delete)) .route("/refs/rename", web::patch().to(refs::git_ref_rename)) .route("/refs/update", web::patch().to(refs::git_ref_update)) + // parameterized routes with {name} + .route("/refs/{name}", web::get().to(refs::git_ref_get)) + .route("/refs/{name}", web::delete().to(refs::git_ref_delete)) .route("/refs/{name}/exists", web::get().to(refs::git_ref_exists)) .route("/refs/{name}/target", web::get().to(refs::git_ref_target)) // repo (description, config, merge)