【发布时间】:2019-10-20 13:44:13
【问题描述】:
我正在尝试抛出自定义异常。该项目是一个使用 Google Places API 的 API,如果结果的状态为ZERO RESULTS,我需要抛出一个验证异常。这是因为存储的数据是错误的。
为了更清楚地说明这一点。注册用户修改他的个人资料,包括地址、邮政编码等。 然后我们有一个 get 方法,在该方法中我们对 places API 进行查询,以获取纬度和经度并将其添加到配置文件模型中。
if (strcmp($status, 'ZERO_RESULTS') == 0 || strcmp($status, 'INVALID_REQUEST') == 0) {
$error = ValidationException::withMessages([
"one_thing" => ["Validation Message #1"], "another_thing" => ['Validation Message #2']
]);
throw $error;
}
我在 StackOverflow 上阅读了一些答案,我什至在尝试这些答案,但我只收到以下错误:
{
"errors": [
{
"status": 500,
"code": 1,
"source": {
"pointer": "ErrorException line 73 in /Users/jacobotapia/Documents/Espora/one-mind-backend/vendor/sfelix-martins/json-exception-handler/src/ValidationHandler.php"
},
"title": "errorexception",
"detail": "Undefined index: one_thing"
}
]
}
我还想指出,所有过程都发生在GET 方法期间。
我唯一想要的是返回一个错误,指出我们无法从 google 地方 API 获得任何结果。这样做的目的是告诉客户,用户在应用中注册的个人资料数据是错误的。
我做错了什么?
【问题讨论】:
-
您想要什么实际响应?我们无法理解,您想要正确的验证状态码吗?
-
我更新了问题,我希望这能澄清疑问
-
@JacoboTapia 你有字段名 'one_thing' 和 'another_thing' 吗?
-
不,这是一个 GET 方法。该请求有任何参数
-
keys中的withMessages方法应该是字段名称。