Trailing slash on API URLs is very, very confusing
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
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
@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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de getpatchwork/patchwork
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
getpatchwork/patchwork#668 ·
-
bug web-ui
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
getpatchwork/patchwork#546 · 2 commentaires ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 52/100
getpatchwork/patchwork#664 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
getpatchwork/patchwork#663 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
getpatchwork/patchwork#645 ·
Toutes les issues de getpatchwork/patchwork
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
canonical/paas-charm#368 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
tech debt
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
addition to tracking list Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
StevenBlack/hosts#3256 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
qualcomm/qai-appbuilder#275 ·