eWaterCycle / eWaterCycle/remotebmi

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

オープン
#52 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug Python
主要言語
Julia
スター
0
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

説明

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.
>

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。