programing

laravel - http 요청에서 매개 변수를 가져옵니다.

muds 2023. 3. 12. 11:25
반응형

laravel - http 요청에서 매개 변수를 가져옵니다.

Angular 앱에서 Laravel API로 여러 파라미터를 전달하고 싶다.id그리고.choices사용자가 제공한 어레이입니다.

각도:

http 요구:

verifyAnswer: function(params) {
    return $http({
        method: 'GET',
        url: 'http://localhost:8888/api/questions/check',
        cache: true,
        params: {
            id: params.question_id,
            choices: params.answer_choices
        }
    });

라라벨 5:

routes.syslog:

$router->get('/api/questions/check/(:any)', 'ApiController@getAnswer');

API 컨트롤러php:

public function getAnswer(Request $request) {
    die(print_r($request));
}

저는 이걸 써야 될 것 같아서:any다양한 데이터 구조(ID는 숫자, 선택 항목은 선택 항목 배열)의 임의의 양의 매개 변수를 전달함을 나타내는 URI 내입니다.

이 요청은 어떻게 해야 하나요?


[200]: /api/facebook/check?facebook=선택지+1 & facebook=선택지+2 & facebook=선택지+3 & id=1

Larabel 8 업데이트:

쿼리 문자열을 사용하지 않고 매개 변수를 전달할 수 있습니다.

EX

Route::get('/accounts/{accountId}', [AccountsController::class, 'showById'])

컨트롤러 방식에서는 Request 인스턴스를 사용하여 루트 방식을 사용하여 다음과 같은 파라미터에 액세스할 수 있습니다.

public function showById (Request $request)
{
  $account_id = $request->route('accountId')
  
  //more logic here
}

그러나 여전히 일부 쿼리 매개 변수를 사용하려면 동일한 요청 인스턴스를 사용하고 쿼리 메서드를 사용할 수 있습니다.

Endpoint: https://yoururl.com/foo?accountId=4490
 public function showById (Request $request)
{
  $account_id = $request->query('accountId');
  
  //more logic here
}

변경:

$router->get('/api/questions/check/(:any)', 'ApiController@getAnswer');

로.

$router->get('/api/questions/check', 'ApiController@getAnswer');

그리고 다음 방법으로 값을 가져옵니다.

echo $request->id;
echo $request->choices;

컨트롤러에 접속합니다.파라미터를 수신하는 것을 지정할 필요는 없습니다.모든 파라미터가 다음 위치에 있습니다.$request주사할 때Request당신의 방법에 따라.

언급URL : https://stackoverflow.com/questions/31909964/laravel-get-parameters-from-http-request

반응형