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.
This commit is contained in:
ZhenYi 2026-04-17 16:10:23 +08:00
parent 4cee9975d5
commit 1272615d50

View File

@ -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)