Modal > tab에서 변수 가져오기

안녕하세요 http get 요청의 뒤에 queryParameter를 붙이려고 합니다.
url: “{{BASE_URL}}/traindata/imageurls?user_id={{user_id}}”

뒤의 user_id를 modal 안에서 가져오고 싶은데 어떻게 가져와야할지 모르겠습니다ㅠㅠ
BASE_URL는 env파일에서 가져온거라 key/valueFromEnv로 정의했는데, 모달로 넘어온 변수는 어떻게 또 가져오나요??

1개의 좋아요

안녕하세요. params와 valueFromRow를 사용하시면 되겠습니다.

    columns:
      id:
        openModal: test-:id
    modals:
      - path: test-:id
        blocks:
          - type: tab
            tabOptions:
              autoload: 1
              tabs:
                - name: 탭1
                  blocks:
                    - type: http
                      axios:
                        method: GET
                        url: https://.../images/{{value}}
                      params:
                        - key: value
                          valueFromRow: id
                 - name: 탭2
                    blocks:
                    - type: query
                      resource: mysql.qa
                      sqlType: select
                      sql: >
                        SELECT *
                        FROM properties
                        WHERE id = :id 
                      params:
                        - key: id
                          valueFromRow: id

적용이 잘 안되시는 경우, 작성중이신 YAML 공유 부탁드립니다.

감사합니다!

1개의 좋아요

안녕하세요 답변 감사합니다! 아직 적용이 잘 안된 것 같아 댓글 남깁니다.

menus:
  - path: O5LpxR
    name: Sku 정보
    placement: menu-only
    redirect: O5LpxR/sku
    group: O5LpxR
  - path: O5LpxR/sku
    name: Sku
    placement: tab-only
    group: O5LpxR
pages:
  - path: O5LpxR/sku
    blocks:
      - type: query
        resource: Potoo
        name: Sku 전체조회
        sqlType: select
        sql: SELECT U.name AS userName, S.*
            FROM Sku S 
            JOIN User U 
              ON S.userId = U.userId
            WHERE U.userType != 'test' 
            ORDER BY createdTime DESC 
            LIMIT 1000;
        searchOptions:
          enabled: true
        params:
          - key: id
            valueFromRow: id
          - key: skuId
            valueFromRow: skuId
        paginationOptions:
          enabled: true
          perPage: 15

        viewModal:
          useColumn: name
          blocks:
          - type: query
            resource: Potoo
            sqlType: select
            sql: 
              SELECT *
              FROM Sku
              WHERE skuId = :skuId;
            display: col-2
            params:
            - key: skuId
              valueFromRow: skuId

            tabOptions:
              autoload: 1
              tabs:
              - name: 학습 데이터
                # 내용 입력
                blocks:
                - type: http
                  name: API 조회 결과
                  axios:
                    method: GET
                    url: "{{POTOO_DEV_API_BASE_URL}}/traindata/imageurls?sku_id={{skuId}}"
                    headers: >
                      {
                        "x-api-key": "{{POTOO_API_KEY}}"
                      }
                  params:
                    - key: skuId
                      valueFromRow: skuId
                    - key: POTOO_API_KEY
                      valueFromEnv: true
                    - key: POTOO_API_BASE_URL
                      valueFromEnv: true
                    - key: POTOO_DEV_API_BASE_URL
                      valueFromEnv: true
                  # rowsPath: rows
                  columns:
                    imageUrls:
                      format: image
                      width: 400px
                      height: 120px
                      thumbnail: true
                      thumbnailWidth: 100px
                      flex: true          
                      style: > 
                        border-radius: 10px

코드는 이것입니다.

"{{POTOO_DEV_API_BASE_URL}}/traindata/imageurls?sku_id={{skuId}}"

여기서 호출을 보내면 계속 sku_id가 비어져서 오고 있습니다ㅠ
스크린샷 2024-10-11 오후 1.51.05


참고로 현재 모달화면에서는 이렇게 뜨고 있습니다!

@hbkim 밑에 댓글로 남겨두었습니다:)

확인 감사합니다! 말씀주신 내용들 참고하였으나, 이슈 재현이 안되어서요.

편집 페이지에서 우측 상단, 저장버튼 아래에 "콘솔로그 켜짐"하시고

호출을 했을때 어떤 에러가 나오는지 확인 부탁드립니다. valueFromEnv 값이 잘못들어간 것인지, skuId 값이 아예 안들어간것인지 등을 파악해야 합니다.

http request 부분에서 code_fields 부분도 함께 확인 부탁드립니다.

@hbkim 안녕하세요 답변해주셔서 감사합니다:)

typehttp 
messageRequest
body
copy
{
method:"GET"
url:"api_url잘들어옴/traindata/imageurls?sku_id="
headers:{
x-api-key:"env에서 잘 들어옴"
}
}
fields
copy
[
0:{
key:"skuId"
valueFromRow:"skuId"
value:""
$path:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0.params"
$path$i:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0.params.0"
$path$block:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0"
}
1:{
key:"POTOO_API_KEY"
valueFromEnv:"POTOO_API_KEY"
value:"env에서 잘 들어옴"
$path:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0.params"
$path$i:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0.params.1"
$path$block:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0"
}
2:{
key:"POTOO_API_BASE_URL"
valueFromEnv:"POTOO_API_BASE_URL"
value:"env에서 잘 들어옴"
$path:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0.params"
$path$i:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0.params.2"
$path$block:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0"
}
3:{
key:"POTOO_DEV_API_BASE_URL"
valueFromEnv:"POTOO_DEV_API_BASE_URL"
value:"env에서 잘 들어옴"
$path:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0.params"
$path$i:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0.params.3"
$path$block:"pages.7.blocks.0.viewModal.blocks.0.tabOptions.tabs.0.blocks.0"
}
]
code_fields
copy
[
0:{
code:"POTOO_DEV_API_BASE_URL"
value:""
}
1:{
code:"skuId"
value:""
}
2:{
code:"POTOO_API_KEY"
value:""
}
]

http Request에서 이렇게 뜨고 있습니다!

@null59 안녕하세요. 추가 공유 감사합니다. 관련 부분 확인해본 결과

현재 viewModal의 경우 “id” 필드 값을 모달 안으로 내려주는 심플한 모달에 쓰이는 기능이어서 위 코드의 skuId 값이 내려지지 않는것으로 보입니다.

복잡한 기능의 경우 modals를 권장드리고 있습니다.

viewModal이 추후 개선될 수 있으나 시간이 걸릴듯 하여 modals 방향으로 적용하시면 좋을것 같습니다!