API 응답을 코드로 처리
셀렉트는 API를 통해 편리하게 조회, 수정을 하는 역할이지만 서버에서 원하는 결과물이 아닌 경우 코드로 데이터를 수정할 수 있습니다. API 응답을 변환(response transformation)해서 이용해보세요.
responseFn
응답결과물 전체를 rows 변수로 넘겨 원하는 코드를 실행합니다.
return이 없는 경우 자동으로 추가됩니다. ; return rows
yaml
menus:
- path: test/http-get
name: HTTP-GET
pages:
- path: test/http-get
blocks:
- type: http
name: 결과물
axios:
method: GET
url: https://gist.githubusercontent.com/eces/c267436ddeec8917b47ee666b0d5e955/raw/b60b5bca57c51a9b75c1a135d182f2e278b45ccb/test-2.json
rowsPath: rows
responseFn: |
rows.map(e => {
e.name_initial = e.name.split(' ').slice(0, 2).map(e => e[0].toUpperCase()).join('')
return e
})
name_initial 필드를 코드를 통해 새로 만들었습니다. (이름의 이니셜을 생성)
responseRowFn
응답결과물 한 건을 row 변수로 넘겨 원하는 코드를 실행 할 수 있습니다.
return이 없는 경우 자동으로 추가됩니다. ; return row
yaml
menus:
- path: test/http-get
name: HTTP-GET
pages:
- path: test/http-get
blocks:
- type: http
name: 결과물
axios:
method: GET
url: https://gist.githubusercontent.com/eces/c267436ddeec8917b47ee666b0d5e955/raw/b60b5bca57c51a9b75c1a135d182f2e278b45ccb/test-2.json
rowsPath: rows
responseRowFn: |
row.name_initial = row.name.split(' ').slice(0, 2).map(e => e[0].toUpperCase()).join('')
에러 확인
개발자 도구를 열면 해당 에러가 표시됩니다.
responseFn, responseRowFn 분류가 표시됩니다.
에러메시지와 동시에 에러를 재현 가능한 코드가 출력됩니다.
코드를 그대로 붙여넣으면 실행됩니다. (동일한 에러)