현재 Hateoas를 사용하여 일부 REST 웹 서비스를 개발 중이며 더 긴 목록 표시를 위해 페이지 매김을 구현하고 싶습니다.willdurand hateoas 번들의 페이지 매김 경로 문제
참고 : 데이터베이스 검색 로직이 내 컨트롤러 아직
구현되지 않은 :
use Hateoas\Representation\PaginatedRepresentation;
use Hateoas\Representation\CollectionRepresentation;
/**
* @Rest\View(serializerGroups={"details"})
* @Doc\ApiDoc(
* section="User",
* resource=true,
* description="Get all catalogs accessible by a User",
* requirements={
* {
* "name"="id",
* "dataType"="integer",
* "requirement"="\d+",
* "description"="The id of the user from which to retrieve"
* }
* },
* output={
* "class"="\CatalogV2",
* "groups"={"details"}
* }
*)
*/
public function getUserLicencesAction($id, $page = 1, $limit = 10) {
$service_rustine = $this->container->get('rustine_core.link');
// Get User corresponding to id
$user = $service_rustine->getUser($id);
// Get licences
$licences = $user->getLicencesRight();
$offset = ($page - 1) * $limit;
$pages = (int)ceil(count($licences)/$limit);
$collection = new CollectionRepresentation(
array_slice($licences, $offset, $page * $limit),
'licences',
'licences',
new Exclusion(array("details"))
);
$paginated = new PaginatedRepresentation(
$collection,
'get_user_licences',
array("id" => $id),
$page,
$limit,
$pages
);
// JSON output
return $paginated;
}
내가 가진 계속 오류 :
"일부 필수 매개 변수 (누락" id ")를 사용하여"get_user_licences "경로를 생성하십시오.
설명서에는 r oute 매개 변수 및 빈 배열을 사용하여 모든 예제를 찾을 수 없습니다.
parameters 배열에 지정된 routeparam id는 UrlGenerator에서 항상 무시됩니다. array ($ id)를 시도했지만 작동하지 않습니다.
$this->get('router')->generate('get_user_licences', array('id' => $id));
여러분의 도움에 감사드립니다 :
내가하려고하면 동일한 컨트롤러에서이 등으로 경로를 생성하는, 아무 문제가 없다!
솔루션을 답변으로 추가하고 동의해야합니다. 이 상황을 수정하더라도 이러한 증상에 대한 유일한 해결책은 아니며 다른 사람들은 추가 사람들을 도울 수있는 다른 솔루션을 추가 할 수 있습니다. –