eWaterCycle / eWaterCycle/remotebmi

Can't use `set_value` or `set_value_at_indices` in Python server implementation.

Ouverte
#52 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug Python
Langage dominant
Julia
Étoiles
0
Forks
1
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

To reproduce; enable the Swagger UI and try to set a value for a variable. Error will be;

`set_value() is missing 1 required positional argument: 'src'`

The problem is that the body of the request is passed by connexion to the function as the kwarg "body".

Claude's explanation:

> Connexion 3.x calls operation.body_name() → always returns "body" (since the spec has no x-body-name extension)
> It then checks if "body" in function_arguments — but set_value's arguments are ["name", "src"]
> So connexion skips body injection entirely and calls set_value(name=...) without src
> This cannot be influenced from the client side — the body is discarded before the Python function is even called. The same bug affects update_until (until vs body), get_value_at_indices (indices vs body), and set_value_at_indices (indices/values vs body). initialize works because it already uses body.
>
> The only real fix is server-side: rename the parameter from src to body in the function (one character change), or add x-body-name: src to the spec.
>

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

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