symfony의 api-platform에서 No item route associated with the type "App\Entity\클래스 이름"

2166 단어 심포니API-Platform

소개



api-platform을 사용하고 있으며, 망설이는 부분의 메모입니다.

문제



Symfony의 api-platform에서 개발하고 있으며 No item route associated with the type "App\Entity\クラス名"라는 오류가 표시되었습니다.

상황



MySQL의 View로 작성한 테이블이므로, ReadOnly의 생각으로, collectionOperations의 GET만으로서 이하의 설정을 실시했다.
/**
 * @ApiResource(
 *     collectionOperations={
 *      "get"
 *     },
 *     itemOperations={
 *     },
 * )
 * @ORM\Entity(repositoryClass=hogehoge::class, readOnly=true)
 * @ORM\Table(name="view_hogehoge")
 */

이하의 화면에서도 정상적으로 표시되고 있기 때문에 좋을 것 같은 느낌.



그러나 실제로 API를 호출하면 오류를 토합니다.



답변



어노테이션의 다음 쓰는 법이 안 된다.
Issu에 올랐다.
htps : // 기주 b. 코 m / 아피 p t 후 rm / 이것 / 이스에 s / 3501
 *     itemOperations={
 *     },

여기와 같이 쓰면 작동합니다.
/**
 * @ApiResource(
 *     collectionOperations={
 *      "get"
 *     },
 *     itemOperations={
 *         "get"={
 *             "method"="GET",
 *             "controller"=NotFoundAction::class,
 *             "read"=false,
 *             "output"=false,
 *         },
 *     },
 * )
 * @ORM\Entity(repositoryClass=hogehoge::class, readOnly=true)
 * @ORM\Table(name="view_hogehoge")
 */

변명



R/W 할 수있는 테이블에서 사용하고 있기 때문에, R/O의 경우에 조금 쓰는 방법을 바꾸면 주저 버렸다.

게다가, 이용자가 적은지, 일본어로의 대답이 없었기 때문에 써 보았습니다.

좋은 웹페이지 즐겨찾기