>

주문이 생성/업데이트/삭제 될 때마다 Woocommerce 웹 후크를 사용하고 있습니다.

다음과 같이 Woocommerce에서 웹 후크를 설정했습니다

Laravel 경로 파일에서 다음과 같이 경로를 설정했습니다 :

use Illuminate\Http\Request;
// API routes...
Route::post('api/v1/orders/create', function (Request $request) {
    Log::debug($request->all());
    return $request->all();
});

POSTMAN에서 로그와 리턴 데이터를 볼 때 빈 배열 만 얻을 수 있습니다.

'GET'이외의 HTTP 메소드는MethodNotAllowedException을 발생시킵니다

Request $request 이외의 데이터를 사용하는 다른 방법은 Laravel에서 확실하지 않습니다.

  • 답변 # 1

    Laravel에서의 라우팅에 대한 나의 이해에 따르면, 함수에 전달하는 입력은 실제로는 경로의 변수입니다.

    따라서 API에 경로가 있다면 : 와이즈 비즈  그런 다음 route 함수에서 id를 메소드 인수로 전달합니다. 그래서 이것이 맞을 것입니다 :

    api/v1/orders/{id}/create
    
    

    경로 정의에서 요청을 찾고 있습니다.

    는 오히려 제어기를 만든다. 그런 다음 Route::post('api/v1/orders/{id}/create', function ($id) { Log::debug($id); return $id; }); 에서  이것을 사용하십시오 : 와이즈 비즈

    모든 HTTP POST 호출을 routes.php 로 리디렉션하도록 라우팅에 지시합니다.   Route::post('api/v1/orders/create', '[email protected]') 에  그리고 api/v1/orders/create  그 제어기 내의 방법.

    컨트롤러에서 OrdersController.php 를 사용할 수 있습니다  변수를 입력 인수로 사용하면 작동합니다.

    와이즈 비즈 :

    create()
    
    

    행운을 빕니다!

  • 답변 # 2

    이것은 저에게 효과적이었습니다. api.php의 경로는 다음과 같습니다.

    $request
    
    

    내 컨트롤러 동작은 다음과 같습니다.

    OrdersController.php
    
    

    class OrdersController extends Controller { public function create(Request $request) { Log::debug($request->all()); return $request->all(); } }

  • 이전 javascript - 동기화 아약스 호출 전에 UI가 표시되지 않음
  • 다음 전체 메모리를 차지한 후 SQL Server가 완전히 느려짐