홈>
주문이 생성/업데이트/삭제 될 때마다 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
- 답변 # 2
이것은 저에게 효과적이었습니다. api.php의 경로는 다음과 같습니다.
$request
내 컨트롤러 동작은 다음과 같습니다.
OrdersController.php
class OrdersController extends Controller { public function create(Request $request) { Log::debug($request->all()); return $request->all(); } }
관련 질문
- php : Wordpress 사용자 정의 이메일 두 번 보내기
- php : 여러 모델과 hasMany 관계가 있습니까?
- php : WordPress의 다국어 사이트에 대한 표준 리디렉션 비활성화
- php : Laravel 속도 제한은 속도 제한을 비활성화해도 429 오류를 반환합니다.
- php : GET을 사용한 Laravel URL 필터링
- php : docker compose 내에서 laravel 마이그레이션을 실행할 수 없습니다.
- php : Laravel은 데이터 역 havemany에 액세스하는 데 도움이 필요합니다.
- javascript : Postman과 브라우저를 통한 파일 업로드 사이에 불일치가 있는 이유는 무엇입니까?
- PHP가 btrfs 파일 시스템에 무리를 줄 수 없는 이유는 무엇입니까?
- php : Postman은 내가 생성한 localhost laravel api 경로에 도달할 때 "어떤 응답도 받을 수 없습니다"를 반환합니다.
Laravel에서의 라우팅에 대한 나의 이해에 따르면, 함수에 전달하는 입력은 실제로는 경로의 변수입니다.
따라서 API에 경로가 있다면 : 와이즈 비즈 그런 다음 route 함수에서 id를 메소드 인수로 전달합니다. 그래서 이것이 맞을 것입니다 :
경로 정의에서 요청을 찾고 있습니다.
는 오히려 제어기를 만든다. 그런 다음
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
를 사용할 수 있습니다 변수를 입력 인수로 사용하면 작동합니다.행운을 빕니다!