A. 요약여러 요청을 보낼 때 결과를 요청과 일치시키는 방법은 무엇입니까? 제목으로
는, 폭식은 documentation 같이 시간을 절약하기 위해 한 번에 여러 요청을 보낼 수 있습니다.
$responses = $client->send(array(
$requestObj1,
$requestObj2,
...
));
(given that each request object is an instance of
Guzzle\Http\Message\EntityEnclosingRequestInterface)
는 응답은 요청에 대해, 우리는 각 요청을 통해 루프 (위의 명령을 실행 한 후에서만 사용 가능) 응답을 얻을 수있는 응답을 확인하는, 돌아올 때 :
$response1 = $requestObj1->getResponse();
$response2 = $requestObj2->getResponse();
...
B 문제
요청 개체에 동일한 데이터가 포함되어있는 경우. 최초 요청을 식별하는 것은 불가능합니다. 거리 서버 A와 B : :
우리가 다음 우리가이 개 기사를 작성해야 시나리오가 있다고 가정 something.com/articles/create.json을각 요청 같은 POST 데이터가 있습니다
subject: This is a test article
을 만든 후
, 2 위치와 목구멍의 응답이 돌아올 :
something.com/articles/223.json
something.com/articles/245.json
을 응답 투의 요청을 연결하는 위의 방법을 사용하여, 우리는 아직도 모르고있는 응답 내가 요청 개체가 정확히 동일한이기 때문에 어느 문서에 대해 이 있는지 확인하십시오.
따라서 내 데이터베이스에서 나는 결과를 아래로 쓸 수 없습니다 :
이article A -> Location: 223.json
article B -> Location: 245.json
해결책은 POST 요청에 몇 가지 추가 매개 변수를 넣어하는 것입니다
article A -> Location: 245.json
article B -> Location: 223.json
를이 arround를 다른 방법이 될 수 있기 때문에 , 예.
subject: This is a test article
record: A
그러나, 거리 서버가 오류를 반환하고 키 "레코드"를 이해하지 않기 때문에 기사를 작성하지 않습니다. 거리 서버는 타사 서버이므로 작동 방식을 변경할 수 없습니다.
또 다른 적절한 해결책은 요청 개체에 특정 ID/태그를 설정하는 것이므로 나중에 식별 할 수 있습니다. 그러나, 나는 문서를 통해 검토 한하지만 방법은 정체성이 문제를 해결할 수없는 여전히
$request->setID("id1")
or
$request->setTag("id1")
이 몇 달 동안 나를 귀찮게되었으며 같은 요청에 유일하게 존재하지 않는다.
해결책이있는 경우 알려 주시기 바랍니다.
많은 많은 감사와 나를 구 했어요 !!
이 긴 게시물을 읽어 주셔서 감사합니다.
사용 사례에 따라 API에 대해 도메인 식별자를 사용합니다. –