PAP(pick-act-page) API 설명
PAP(pick-act-page) API란?
PAP(pick-act-page) API는 다보리 컴포저블 앱에서 개별 Table 단위의 데이터 처리를 위한 API 구조를 정의하는 방법입니다. 이 API 구조는 데이터의 추출(Pick), 실행(Action), 그리고 페이지네이션(Page) 세 가지 api를 포함하고 있습니다.
- Pick api (데이터 추출)
- 개별 ID 값을 기반으로 한 개 또는 다수의 레코드를 추출합니다.
- Act api (데이터 실행)
- Insert, Update, Delete와 같은 데이터 작업을 수행합니다.
- ID 값에 따라 Insert(0), Update(양수), Delete(음수)로 구분합니다.
- 만약 ID값이 0보다 큰 양수라면 해당 ID값에 해당하는 데이터를 Update합니다.
- Delete는 다른 필드 없이 ID 값만으로 처리할 수 있습니다.
- Page api(페이지네이션)
- 하나의 Select 쿼리로 테이블의 레코드를 2차원 리스트 형태로 가져옵니다.
- QueryCnt, Query, Fields, Asc, Desc, Limit, Offset, ReturnJson 등의 파라미터를 통해 페이징과 필터링을 설정합니다.
- 특히 ReturnJson 필드는 페이지 갱신 시 이전 쿼리 조건값을 잃지 않도록 서버에 전달하고, Base64 인코딩을 통해 전달합니다.
*API 공용 Json Structure 정의
"PageVars": {
"QueryCnt": "string",//Response 시에만 유효한 값, Where 절에 걸리는 Row Count - Request 시에는 지정하지 않아도 됩니다.
"Query": "string",//Query의 Where Clause의 내용과 같은 문법으로 지정 가능합니다. (And / Or 조건 지정 가능)
"Fields": "string",// 가져올 필드를 지정합니다, 필드 자체를 뺄 수는 없지만, 해당값을 Empty 처리가 가능합니다. (지정하지 않으면 all)
"Asc": "string",// ORDER BY *** ASC 지정 가능합니다.
"Desc": "int",// ORDER BY *** DESC 지정 가능합니다.
"Limit": "int",// 한번 페이징에서 가져오는 Row 갯수, 반드시 지정필요, 10개 Default
"Offset": "int",// Where로 필터된 rows 중 가져오는 첫번째 레코드 레코드 옵셋 지정 가능
"ReturnJson": "string",//일반적으로 필터링 하는 지정 조건 값을 서버로 보냈다가 받을 수 있습니다.
}