저는 Symfony 5.4를 처음 접했고 최근에 이 버전을 사용하여 첫 번째 API를 만들었습니다
내 특정 API 엔드포인트의 경우 매개변수 중 하나가 ID 배열입니다.
다음을 통해 배열의 유효성을 검사해야 합니다.
타입 캐스팅과 기존을 사용하여 엔터티를 유지하기 전에 배열을 확인하는 간단한 방법으로 구현했습니다. Repository
:
그러나 이로 인해 내 컨트롤러 동작이 너무 "신체 긍정적"이 되어 더 우아한 방식으로 구현될 수 있는 것처럼 느껴집니다.
Symfony 5.4 문서에서 아무것도 찾을 수 없습니다.
현재 다음 사항을 알고 싶습니다.
$parentPropertyIds = (array)$request->request->get('parent_property_ids'); if ($parentPropertyIds) { $parentCount = $doctrine->getRepository(Property::class)->countByIds($parentPropertyIds); if ($parentCount !== count($parentPropertyIds)) { return $this->json([ 'status' => 'error', 'message' => 'parent_property_id_invalid' ], 422); } foreach ($parentPropertyIds as $parentPropertyId) { $parentProperty = $doctrine->getRepository(Property::class)->find($parentPropertyId); $property->addParent($parentProperty); } }
DTO(데이터 전송 개체)를 인증 서비스와 결합할 수 있습니다. 미리 정의된 제약 조건이 많거나 사용자 지정 제약 조건을 만들 수 있습니다.
예를 들어 간단한 제약 조건을 주석으로 사용하는 방법은 다음과 같습니다.
으아악그런 다음 DTO에 데이터를 할당합니다.
으아악어떤 경우에는 DTO에서 생성자를 정의한 다음 에서 를 요청하고 즉시 DTO에 전달하는 것이 더 좋습니다.
으아악그런 다음 확인하세요.
으아악