GET blocks 이 필요한 이유는 무엇이며 어떻게 작동합니까?
프론트엔드를 개발할 때 필연적으로 백엔드에서 다른 BP를 실행해야 합니다. BP를 실행하려면 엔드포인트를 호출해야 합니다. 이를 위해 AppMaster 는 각 엔드포인트 에 대한 서버 요청 블록을 생성합니다. 이러한 블록은 연결된 엔드포인트 와 동일한 입력 및 출력 필드를 가지며 이를 시작하는 방법으로 사용됩니다.
REST API 의 원칙에 따라 GET 블록은 일부 데이터를 검색해야 합니다. 대부분의 경우 GET 블록은 데이터베이스의 모델에서 데이터를 검색합니다(전체 또는 특정 기준에 따라).
모든 서버 요청 블록과 마찬가지로 각 GET 블록은 자체 끝점에 바인딩됩니다. 엔드포인트의 URL은 블록 이름에 표시됩니다.
AppMaster 는 기본 엔드포인트를 자동으로 생성합니다. 그러나 BP와 엔드포인트를 생성할 수도 있고 결과적으로 서버 요청 블록도 생성할 수 있습니다.
GET block 의 입력 및 출력 필드
입력
- Endpoint ID – 블록이 액세스해야 하는 엔드포인트를 결정합니다. 이 필드는 자동으로 설정됩니다.
- _offset – 블록이 정보를 수신할 레코드를 지정할 수 있습니다. 정수 형식;
- _limit – 블록이 로드하는 레코드 수. 기본값은 25이고 한 번에 최대값은 500입니다. 정수 형식;
- _sort_order – 이 필드에는 두 가지 값이 적합합니다. asc – 직접 정렬 순서 및 desc – 역순 문자열 형식;
- _sort_by – 목록이 정렬될 데이터 모델 필드를 정의합니다. 문자열 형식;
- Ids – 레코드 ID 목록입니다. 특정 ID로 레코드를 가져올 수 있습니다. 배열 정수 형식;
- _search – 데이터 모델에서 주어진 값을 검색합니다. 문자열 형식;
- _search_exact – 정확히 일치 검색을 활성화/비활성화합니다. 부울 형식;
- _ search_in – 특정 필드로 검색; 배열 문자열 형식.
검색과 관련된 필드를 자세히 살펴보겠습니다.
_search - 데이터 모델 전체에서 일치 항목을 검색하고 값이 있는 필드에 관계없이 찾습니다.
예를 들어 _search 필드를 John으로 설정해 보겠습니다. 데이터 모델에서 한 레코드의 이름 필드 값이 John이고 다른 하나의 전자 메일 필드 값이 [email protected]이면 검색에서 이 두 레코드를 모두 찾습니다.
_search_exact – 이 필드를 활성화하면 쿼리와 완전히 일치하는 레코드가 결과에 포함됩니다.
요구 | _search_exact | 결과 |
John | False | John, Johny, [email protected] |
John | True | John |
_search_in – 여기에서 검색을 수행해야 하는 필드를 설정할 수 있습니다. 예를 들어 이름으로만 검색하고 이름이 이메일의 일부인 경우를 고려하지 않으려면 _search_in 을 사용하고 이름 필드로만 검색할 수 있습니다.
데이터 모델 필드 검색
이 필드는 데이터 모델로 검색하는 데 사용됩니다. 이들과 검색 필드의 주요 차이점은 문자열 형식만 허용하는 검색과 달리 다른 값을 사용할 수 있다는 것입니다.
산출
- _success – 검색 결과; 부울 형식;
- _httpcode – 요청 응답 코드; 정수 형식;
- _error – 오류 텍스트; 문자열 형식;
- Data – 수신된 기록 배열 모델 형식;
- Count – 수신된 항목의 수입니다. 정수 형식.
_with 필드
요청이 관련 데이터 모델로 이동하는 블록에 나타납니다. 이를 통해 요청이 이루어진 데이터 모델 및 이와 연결된 데이터 모델에서 데이터를 가져올 수 있습니다.
책 목록과 해당 카테고리를 저장하는 예제 애플리케이션을 사용하여 _with 필드를 살펴보겠습니다.
book 과 category 의 두 가지 데이터 모델을 만듭니다. book 에서 book_name 필드를 추가하고 category_name category 를 추가합니다.
그들 사이에 연결을 만드십시오. 하나의 카테고리가 다른 책을 참조할 수 있으므로 카테고리에서 책으로 그리고 관계 유형을 has_many 로 설정해 보겠습니다.
웹 응용 프로그램 탭에서 책 및 범주 테이블에 데이터 로드를 설정하고 이 테이블에 레코드를 추가합니다. 연결된 데이터는 현재 테이블에 표시되지 않습니다. 이 문제를 해결하려면 _with 필드가 필요합니다.
각 테이블의 Get block 에서 이 필드를 설정합니다.
이제 애플리케이션을 열고 쿼리가 실행 중이고 테이블에 올바른 데이터가 나타나는지 확인합니다.