0
我試圖在Laravel中創建一個API來將遊戲與後端應用程序集成。 遊戲需要發佈用戶名和密碼,我將使用此API爲此會話創建一個令牌。 我會嘗試Route :: post,Route :: any,但是當我發送請求時,使用SoapUI或REST Console(chrome插件)的方法POST,Input :: get('any')不會返回任何內容。 當我用GET方法發送請求時,它可以工作。 我在網上找不到解決方案。無法檢索帖子值
routes.php文件
Route::group(array('prefix' => 'api'), function() {
Route::any('/gamelogin', '[email protected]');
Route::group(array('prefix' => 'v1', 'before' => 'apitoken'), function() {
Route::get('/milestone', array('uses' => '[email protected]'));
});
});
filters.php
Route::filter('apitoken', function() {
// check if apitoken is valid
});
ApiController.php
class ApiController extends BaseController {
public function login() {
try {
$statusCode = 200;
$response = [
'status' => [
'code' => 1,
'message' => 'Usuário ou senha inválidos'
]
];
$userdata = array(
'login' => Input::get('login'),
'password' => Input::get('password'),
'active' => '1'
);
if (Auth::attempt($userdata)) {
// TODO: verificar licença
$response['status'] = null;
$response['token'] = md5('id'.date('YmdHis'));
$response['api'] = 'v1';
$response['assets_url'] = 'games.xpto.com.br/'.Input::get('game').'/v1/'.'pt_br/';
$response['assets_version'] = 1;
}
} catch (Exception $e) {
$statusCode = 400;
} finally {
return Response::json($response, $statusCode);
}
}
}
我沒有看到你的代碼有任何問題,Route :: any()或Route :: post()應該捕獲任何POST請求。也許你可能會嘗試的只是從應用程序中獲取Laravel以外的POST請求,並查看它是否通過這種方式。 – 2014-12-05 21:53:02
檢查Input :: all()是否返回請求輸入 - Input :: get('any')實際上是查找一個名爲'any'的請求參數。 – Dwight 2014-12-06 01:08:31