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

PUT user-profile returns 500 when user_id is missing from the payload

Ouverte Adaptée aux débutants
#3,911 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
1/5
Temps estimé
1-3 heures
Accessibilité débutants
88/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
api

Piste de recherche

Le bogue se trouve dans update_user_profile dans policyengine_api/routes/user_profile_routes.py, où payload.pop("user_id") n'a pas de valeur par défaut et lève KeyError. Lisez la branche existante pour un user_id nul qui renvoie 400 avec « Payload must include user_id » et faites suivre le même chemin au cas de clé absente. C'est terminé lorsqu'un payload sans user_id reçoit le même 400 qu'un payload à valeur nulle, avec des tests couvrant les deux cas.

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

Description

The PUT /<country_id>/user-profile route (update_user_profile in policyengine_api/routes/user_profile_routes.py) reads the ID with payload.pop("user_id"), with no default. A payload without a user_id key raises KeyError, which the generic error handler turns into a 500.

The route already returns 400 ("Payload must include user_id") when user_id is present but null, so a missing key should get the same 400.

Expected

A payload without user_id gives 400 with the same message as a null user_id, for example by using payload.pop("user_id", None). Add a test for both cases.

Notes

  • Found while documenting the code for the ruff docstring rules; behaviour was left unchanged there.
  • The route has a TODO pointing at #2054 (request validation), which is now closed.
Langage dominant
Python
Étoiles
18
Forks
33
Merge moyen
1 j 15 h
PR mergées (30 j)
18

Préparer son environnement

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 PolicyEngine/policyengine-api

Toutes les issues de PolicyEngine/policyengine-api

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.