안녕하세요 axios로 http 요청을 연결하면서 궁금한점이 있는데요 1. ``` ...
# 03_도움-요청
u
안녕하세요 axios로 http 요청을 연결하면서 궁금한점이 있는데요 1.
Copy code
axios:
      method: GET
      url: {{url}}
      params: >
        {
          "page": "{{page_number}}",
          "size": 10
        }
      requestFn: |
        const page_number = params.find(e => e.key == 'page_number')
        page_number.value = page_number.value -1
이렇게 저장하였는데도 page_number가 그대로 반환됩니다. 확인 가능하실까요? 2.
Copy code
viewModal: 
      width: 90%
      useColumn: id
      blocks: 
        - type: http
          name: 회원 상세 조회
          axios: 
            method: GET
            url: {{url}}
          params: 
            - key: ownerId
              valueFromRow: id
          rowsPath: rows
          columns:
            id:
              label: ID 
            phoneNumber:
              label: 연락처
이런식으로 코드가 있는데 viewModal 내부에 action이나 button을 연결해서 axios 요청을 연결할 수 있을까요?!
3. API response에서 body는 없고 http Status만 있을때 성공/실패 모달을 띄울 수 있을까요? updateOptions에서 호출한 api입니다!
u
안녕하세요! 우선 2번 안내드리겠습니다. 보내주신 YAML을 봤을때는 아래와 같이 actions를 추가하시면 되겠습니다.
Copy code
viewModal: 
  width: 90%
  useColumn: id
  blocks: 
    - type: http
      name: 회원 상세 조회
      axios: 
        method: GET
        url: {{url}}
      params: 
        - key: ownerId
          valueFromRow: id
      responseFn: |
        const result = rows.map(rows => {
          return {
            "id": rows.id,
            "phoneNumber": rows.phoneNumber,
            "name": rows.name,
            "email": rows.email,
            "nickname": rows.nickname,
            "dateOfBirth": rows.dateOfBirth,
            "appInfo": rows.app,
            "addressName": rows.addressName,
            "detailAddressName": rows.detailAddressName
          }
        })
        return result
      rowsPath: rows
      columns:
        id:
          label: ID 
        phoneNumber:
          label: 연락처
      actions:
        - label: 액션
          type: http
          axios:
추가로 다른 예제코드도 공유드립니다. https://ask.selectfromuser.com/t/axios-viewmodal-actions/124 기대하신바와 다르다면 말씀해주세요!
👍 1
u
말씀해주신대로 해보았는데 display: form으로 해서 잘 안되었던 것 같네요.. 일단 일차해결은 했습니다!
@이진혁 이렇게 204 상태로 응답이 오는 경우 요청이 실패했다는 응답이 뜨는데 어떻게 해결할 수 있을까요?
u
안녕하세요 윤경님! 셀렉트 김학범입니다. 해당 스레드 처음에 문의주신 1번 관련: 편집 > 콘솔로그에서 해당 http 블록의 페이지네이션 실행시 http request 에 page_number 값에 -1 적용이 안되고 있다는 말씀이 맞으실까요? (첨부이미지와 같이 확인부탁드리겠습니다.) -- 문의 3번 관련: 해당 부분은 추가 지원이 필요해서요. 작업이 되는대로 안내드리겠습니다. -- 금일 신규 문의 관련: 204 응답이 오는 http 블록 yaml을 공유해주실 수 있을까요? 감사합니다.
u
@김학범 넵 맞습니다!
Copy code
blocks:
  - type: http
    id: getOwners
    name: 회원 검색
    axios:
      method: GET
      url: "{{COMMONAPI_BASE_URL}}/api/v3/admin/owners"
      params: >
        {
          "page": "{{page_number}}",
          "size": 10,
          "joinedStartDate": "{{dateFromTo1}}",
          "joinedEndDate": "{{dateFromTo2}}",
          "{{searchFilter}}": "{{searchValue}}"
        }
      requestFn: |
        const page_number = params.find(e => e.key == 'page_number')
        page_number.value = page_number.value -1
이렇게 했는데, 사진처럼 값이 유지됩니다
1
Copy code
blocks:
  - type: http
    axios:
      method: POST
      url: "{{COMMONAPI_BASE_URL}}/api/v3/admin/point"
      data: >
        {
        }
이 응답은 200으로 반환되는데 body가 없어서 에러가 발생하는 것 같습니다.
u
https://selectcommunity.slack.com/archives/C036637STHN/p1711345697565259?thread_ts=1711101458.929279&cid=C036637STHN 해당 메시지로 공유해주신 YAML에서는 requestFn 키 위치가 method키와 같은 위치 같습니다. 혹시 axios와 같은 위치로 바꿔 적용시에도 page_number가 바뀌지 않는지 확인해주실 수 있을까요?
👀 1
u
@김학범 헉 원래는 위치를 바꿔보아도 잘 되지 않았는데 이제 되네요 확인 감사합니다 !!!
u
다행이네요! 확인 감사합니다 🙂
u
https://selectcommunity.slack.com/archives/C036637STHN/p1711346050305289?thread_ts=1711101458.929279&cid=C036637STHN 이것도 이젠 에러 메시지가 뜨지 않네요..! 성공한 경우의 성공 팝업이 뜬다면 더 좋을 것 같습니다
빠른 피드백 감사합니다 👍
u
네 마침 안내드리려고 했는데 확인하셨군요 😅 response 쪽 업데이트 작업이 금일 완료되었습니다. • no data 일때 성공으로 리턴 • status, statusText 포함 성공팝업 부분은 내부에 전달해두겠습니다. 피드백 주셔서 감사합니다.
👍 1