【发布时间】:2016-12-29 04:06:43
【问题描述】:
我正在用 ionic 制作一个应用程序,后端是用 Laravel 制作的。我正在开发密码重置功能,当我在 chrome 中测试端点时,我不断收到上述错误。这是联系信息功能的代码:
sendContactConfirmation: function(contact, reset) {
var defer = $q.defer();
if(reset == 'reset'){
var endpointUrl = $http.post(AppSettings.apiUrl + "/users/reset", { phone: contact });
}
else {
var endpointUrl = $http.post(AppSettings.apiUrl + "/users", { phone: contact });
}
endpointUrl.then(function(result) {
service.set(result.data.user);
defer.resolve(result);
}, function(error) {
defer.reject(error);
});
return defer.promise;
},
这些是我的 Laravel 后端中的路由:
Route::group(['jwt.auth', ['except' => ['authenticate']], 'prefix' => 'api', 'namespace' => 'Api'], function() {
Route::post('authenticate', 'AuthenticateController@authenticate');
Route::get('authenticate/user', 'AuthenticateController@getAuthenticatedUser');
Route::post('users', 'UsersController@register');
Route::post('users/reset', 'UsersController@resetContact');
Route::put('users/{user}/reset', 'UsersController@resetPassword');
Route::put('users/{user}', 'UsersController@update');
Route::put('users/{user}/activate', 'UsersController@activate');
Route::post('users/{user}/pic', 'UsersController@uploadPicture');
});
这是resetContact函数:
public function resetContact(Request $request)
{
$this->validate(
$request,
['phone' => 'required|regex:/^[0-9]{8}$/']
);
$user = User::where('phone', $request->get('phone'))->firstOrFail();
if ($user) {
try {
$this->sendValidationCode($user, 'reset');
}
catch (\Exception $e) {
throw new ApiException($e->getMessage(), 500);
}
}
return response()->json([
'user' => $user,
]);
}
不知道为什么我会收到这个 400 Bad request 错误。
【问题讨论】:
-
您如何准确地测试 chrome 中的端点?邮递员?
-
你能把那个 400 调用的响应粘贴到这里吗?...你可以在浏览器的开发者控制台的网络部分看到