피승권
09/06/2024, 9:21 AMpages:
- path: users/user
blocks:
- type: query
resource: DEV_ARTWORKER
sqlType: select
sql: >
SELECT mw.MEMBER_ID AS 'MEMBER_ID', mw.WORKER_ID, mw.USER_NAME AS 'USERNAME', CONCAT(mw.LAST_NAME, " ", mw.FIRST_NAME) AS 'NAME', pm.PROFILE_ID, m.APP_PUSH_YN, m.SMS_YN FROM MEMBER_WORKER mw left JOIN PROFILE_MAST pm ON mw.WORKER_ID = pm.WORKER_ID left JOIN MEMBER m ON m.MEMBER_ID = mw.MEMBER_ID WHERE(LENGTH(:MEMBER_ID) = 0 OR mw.MEMBER_ID = :MEMBER_ID) AND (LENGTH(:USER_NAME) = 0 OR mw.USER_NAME LIKE CONCAT('%', :USER_NAME, '%')) AND (LENGTH(:NAME) = 0 OR CONCAT(mw.LAST_NAME, " ", mw.FIRST_NAME) LIKE CONCAT('%', :NAME, '%')) AND (m.APP_PUSH_YN != :APP_PUSH_YN) AND (m.SMS_YN != :SMS_YN) GROUP BY mw.MEMBER_ID
submitButton:
label: 조회
type: danger
resetButton:
label: 초기화
type: light
columns:
MEMBER_ID:
width : 100px
WORKER_ID:
width : 100px
PROFILE_ID:
width : 100px
USERNAME:
width : 120px
NAME :
width : 120px
APP_PUSH_YN:
width : 120px
color:
Y: red
N: gray
SMS_YN :
width : 120px
color:
Y: red
N: gray
searchOptions:
enabled: true
selectOptions:
enabled: true
paginationOptions:
enabled: true
perPage: 10
perPageDropdown:
- 10
- 50
- 100
reloadAfterSubmit: true
tableOptions:
fixed: true
actions:
- name: delete
label: 삭제하기
button:
type: danger-light
placement: right top
type: http
axios :
method: POST
url : <https://devapi.artworker.co.kr/auth/withdraw>
headers : >
{
"Content-Type": "application/json"
"Authorization": "Bearer 토큰",
}
data:
memberId: "{{MEMBER_ID}}"
params:
- key: MEMBER_ID
valueFromSelectedRows: MEMBER_ID
confirmText: |
정말로 삭제하시겠습니까?
params:
- key: MEMBER_ID
label: 멤버 아이디
placeholder: ex)MR20240516000004
- key: USER_NAME
label: 유저 이름
placeholder: ex)nanan
- key: NAME
label: 이름
placeholder: ex)김상옥
- key: APP_PUSH_YN
label: 푸쉬 동의
radioButtonGroup: true
radio:
- value: ''
label: 전체
- value: N
label: 동의
- value: Y
label: 미동의
- key: SMS_YN
label: SMS 수신 동의
radioButtonGroup: true
radio:
- value: ''
label: 전체
- value: N
label: 동의
- value: Y
label: 미동의
위와 같이 코드를 작성해봤는데, 특정 행을 선택하고 삭제하기 버튼을 통해서 삭제 과정을 진행하면 자꾸 실패하더라구요. 로그를 확인해보니 제가 지정한 {{MEMBER_ID}} 값이 안 가져와지는 것을 알 수 있었습니다. 코드도 가이드에서 안내하는대로 작성했고, 오타나 문법 오류도 없는 것 같은데 원인 파악이 어렵네요 ㅠㅠ 혹시 이유가 뭔지 알 수 있을까요? 아래는 response 내용입니다.
typehttp
messageError
bodyaxios.headers JSON invalid: Unexpected string in JSON at position 41
block
copy
{
name:"delete"
label:"삭제하기"
button:{
type:"danger-light"
}
placement:"right top"
type:"http"
axios:{
method:"POST"
url:"<https://devapi.artworker.co.kr/auth/withdraw>"
headers:"{
"Content-Type": "application/json"
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZW1iZXJJZCI6Ik1SMjAyNDA4MjYwMDAwMDQiLCJ3b3JrZXJJZCI6Ik1XMjAyNDA4MjYwMDAwMDQiLCJ1c2VybmFtZSI6InllamluNTU1Njk3MDEiLCJmaXJzdE5hbWUiOiJ5b29uamluIiwibGFzdE5hbWUiOiJraW0iLCJ3b3JrZXJUeXBlIjoiV1QwMSIsInByb2ZpbGVJZCI6IkFQTTIwMjQwODI2MDAwMDA1IiwiaWF0IjoxNzI1NTkxNjY5LCJleHAiOjE3MjgxODM2Njl9.MPRIaLuQS7Datn5CsuwiiIsO3z_guujzNX6Xeh_y2sg",
}
"
data:{
memberId:"{{MEMBER_ID}}"
}
}
params:[
0:{
key:"MEMBER_ID"
valueFromSelectedRows:"MEMBER_ID"
}
]
confirmText:"정말로 삭제하시겠습니까?
"
}
김학범
09/09/2024, 5:52 AMaxios :
method: POST
url : <https://devapi.artworker.co.kr/auth/withdraw>
headers : >
{
"Content-Type": "application/json"
"Authorization": "Bearer 토큰",
}
해당 부분에서 headers > Content-Type: application/json 뒤에 콤마(,)가 빠져있는듯 합니다.
axios:
method: POST
url: <https://devapi.artworker.co.kr/auth/withdraw>
headers: >
{
"Content-Type": "application/json",
"Authorization": "Bearer 토큰"
}
위와 같이 했을때도 동일하실까요? 확인 부탁드립니다. 감사합니다.피승권
09/09/2024, 5:59 AM김학범
09/09/2024, 7:00 AM피승권
09/09/2024, 7:14 AM[
{
"code": "MEMBER_ID",
"value": {
"key": "MEMBER_ID",
"label": "MEMBER_ID",
"placeholder": "ex)MR20240516000004",
"value": [
"MR20240829000006"
],
"$path": "pages.1.blocks.0.params",
"$path$i": "pages.1.blocks.0.params.0",
"$path$block": "pages.1.blocks.0",
"valueFromSelectedRows": "MEMBER_ID",
"valueFromSelectedRowsAs": "MEMBER_ID"
}
}
]
그런데 아래 http responese 부분을 확인해보면 “{{MEMBER_ID}}“로 되어있는 부분에 “MR20240829000006” 라는 값이 들어가야 하는 것 같은데, 그냥 “{{MEMBER_ID}}“로 표시되어서 생기는 문제로 보입니다.
{
“name”: “delete”,
“label”: “삭제하기“,
“button”: {
“type”: “danger-light”
},
“placement”: “right top”,
“type”: “http”,
“axios”: {
“method”: “POST”,
“url”: api url,
“headers”: “{\n \“Content-Type\“: \“application/json\“,\n \“Authorization\“: \“Bearer token_address”,
"data": {
"memberId": "{{MEMBER_ID}}"
}
},
“params”: [
{
“key”: “MEMBER_ID”,
“valueFromSelectedRows”: “MEMBER_ID”
}
],
“confirmText”: “정말로 삭제하시겠습니까? \n”
}김학범
09/09/2024, 8:07 AM피승권
09/09/2024, 8:42 AM김학범
09/09/2024, 9:42 AM김학범
09/09/2024, 10:53 AM피승권
09/10/2024, 6:04 AM김학범
09/10/2024, 8:34 AM