Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Trailing slash on API URLs is very, very confusing

Ouverte
#200 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python
Domaine
api, backend

Piste de recherche

Commencez par reproduire les requêtes POST et PATCH vers /api/patches/$NUMBER et /api/patches/$NUMBER/. Comparez les réponses de redirection, les méthodes et l’état du patch obtenu. Le travail est terminé lorsque le comportement de l’API concernant l’URL d’un objet individuel est cohérent et documenté ou corrigé, afin que les mises à jour ne deviennent pas silencieusement des no-ops.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement help wanted

@stewart-ibm was complaining that his script to update patch states via the REST API wasn't working.

His script was POSTing the update to "/api/patches/$NUMBER", and receiving an HTTP 200 in response, but no update.

I did some digging and discovered that when you access "/api/patches/$NUMBER", you get back a 301 Moved Permanently to "/api/patches/$NUMBER/" (note trailing slash). It seems that when you do a POST and get a 301 in response, the behaviour is to try a GET on the redirected URL, rather than a POST.

Once I figured this out, I tried doing a POST on the correct URL with the trailing slash, got a 405 Method Not Allowed, and quickly realised the real problem was that we should have been doing a PATCH.

For good measure, I checked what happens when you send a PATCH without the trailing slash, you get a 301, my logs seem to indicate that the subsequent request to the 301 target URL is still a PATCH, yet for some reason the state doesn't update. Not sure why.

Anyway, the trailing slash thing is really confusing and I'm not sure if it's semantically appropriate for accessing an individual object.

Thoughts?

Langage dominant
Python
Étoiles
317
Forks
91
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de getpatchwork/patchwork

Toutes les issues de getpatchwork/patchwork

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.