feat: handle 400 status code with unified error format
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -54,12 +54,16 @@ class ApiService {
|
|||||||
switch (response.statusCode) {
|
switch (response.statusCode) {
|
||||||
case 200:
|
case 200:
|
||||||
return RegistrationResult.ok();
|
return RegistrationResult.ok();
|
||||||
|
case 400:
|
||||||
|
final body = jsonDecode(response.body) as Map<String, dynamic>;
|
||||||
|
final msg = body['message']?.toString() ?? '请求参数错误';
|
||||||
|
return RegistrationResult.error(msg);
|
||||||
case 409:
|
case 409:
|
||||||
final body = jsonDecode(response.body) as Map<String, dynamic>;
|
final body = jsonDecode(response.body) as Map<String, dynamic>;
|
||||||
return RegistrationResult.duplicate(body);
|
return RegistrationResult.duplicate(body);
|
||||||
default:
|
default:
|
||||||
final body = jsonDecode(response.body) as Map<String, dynamic>;
|
final body = jsonDecode(response.body) as Map<String, dynamic>;
|
||||||
final msg = body['error'] ?? body['message'] ?? 'Unknown error (${response.statusCode})';
|
final msg = body['message'] ?? body['error'] ?? 'Unknown error (${response.statusCode})';
|
||||||
return RegistrationResult.error(msg.toString());
|
return RegistrationResult.error(msg.toString());
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user