FieldAssist / FieldAssist/fa_flutter_api_client
post() drops responseType — binary (ResponseType.bytes) POSTs silently decoded as JSON
- 主要语言
- Dart
- 星标
- 5
- 派生
- 1
- PR 合并指标
- 30 天内没有已合并 PR
描述
## Bug
`ApiServiceImpl.post()` does not forward `responseType` to Dio's `Options`, so any POST issued with `ApiOptions(responseType: ResponseType.bytes)` is silently downgraded to default JSON handling. `get()` forwards it correctly; `post()` does not.
- `lib/src/api_service_impl.dart`
- `get()` forwards it (line ~73): `responseType: options?.responseType,`
- `post()` `Options(...)` (lines ~105-109): **missing**.
## Impact
A binary POST (e.g. fetching a zstd-compressed body via POST) comes back decoded as a JSON string, producing `type 'String' is not a subtype of type 'List?'` at the call site. This blocks any consumer that POSTs expecting `ResponseType.bytes`.
## Fix (one line)
Add to the `post` `Options(...)`, mirroring `get()`:
```dart
responseType: options?.responseType,
```
## Verification
Patching the resolved package copy with that single line makes a downstream binary-POST integration test pass end-to-end over real HTTP; reverting it fails again. No other changes needed. A new version cut after this fix would let consumers bump their pin.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。