apiConfig는 실제 API 동작을 정의하는데 사용하며, configId
에 따라서 API Response 형태가 결정된다.
...
"cacheable": true
이면 cacheTime 설정 필수
캐시 유지 여부
주기적으로 주기적(1분)으로 호출하여 캐시를 유지 시킨다.
>>얼만큼의 주기인지 확인 예정<<(keepCache 처리량에 따라 1분이상 딜레이 될 수 있다.)
캐시키에서 제외할 파라미터 목록(예: timeStamp,userId)
...
Expand |
---|
title | config : 하위에 다른 API 결과를 조합하여 응답을 생성 |
---|
|
snack 응답결과에 snackScore 쿼리 결과를 조합하는 사례 Code Block |
---|
{
"typeId": "api",
"category": "snack",
"apiId": "list",
"apiName": "snack List",
"apiType": "service",
"method": "GET",
"parameters": [
],
"statistic": true,
"aggregation": false,
"root": {
"configId": "root",
"tid": "snack",
"type": "query",
"query": [
{
"method": "matching",
"field": "name",
"value": "{{:name}}"
}
],
"response": [
{
"field": "id",
"type": "field",
"value": ""
},
{
"field": "name",
"type": "field",
"value": ""
},
{
"field": "scoreList",
"type": "config",
"config": [
{
"tid": "snackScore",
"type": "query",
"query": [
{
"method": "sorting",
"value": "score desc"
},
{
"method": "matching",
"field": "snack",
"value": "{{:id}}"
}
],
"response": [
{
"field": "id",
"type": "field",
"value": ""
},
{
"field": "score",
"type": "field",
"value": ""
}
]
}
]
}
]
}
} |
"field": "scoreList" 에 snackScore 쿼리 결과
snackScore 쿼리에서 {{:id}} 는 상위 snack 응답결과의 id로 치환되었다. Code Block |
---|
{
"method": "matching",
"field": "snack",
"value": "{{:id}}"
} |
Code Block |
---|
{
"result": "200",
"resultMessage": "SUCCESS",
"totalCount": 1,
"totalTypeCount": 20,
"resultCount": 1,
"items": [
{
"id": "101",
"name": "꼬깔콘",
"scoreList": [
{
"id": 1,
"score": 5
},
{
"id": 2,
"score": 5
},
{
"id": 3,
"score": 4
}
]
}
]
} |
|
type별 사용 가능한 항목
| Query | Event | Select | Relay | Read | Reads | | Method | Process | Response |
---|
id | | | | | | | | | | |
targetId | | | | | | | | | | |
configId | | | | | | | | | | |
type | | | | | | | | | | |
tid | O | O | | | O | O | O | | | |
resultType | | | | | | | | | | |
relayUrl | | | | O | | | | | | |
relayMethod | | | | O | | | | | | |
datasource | | | O | | | | | | | |
sql | | | O | | | | | | | |
method | | | | | | | | O | | |
process | | | | | | | | | O | |
cacheable | | | | | | | | | | |
cacheTime | | | | | | | | | | |
keepCache | | | | | | | | | | |
excludeCacheKey | | | | | | | | | | |
allowParams | | | | | | | | | | |
if | | | | | | | | | | |
connectTimeout | | | | | | | | | | |
readTimeout | | | | | | | | | | |
customFilter | O | | | | | | | | | |
customResponse | | | | | | | | | | |
event | | O | | | | | | | | |
failOver | | | | | | | | | | |
compensatingAPI | | | | | | | | | | |
query | O | | | | | | | | | |
data | | O | O | | O | O | | | | |
relayType | | | | O | | | | | | |
relayAuth | | | | O | | | | | | |
| | | | O | | | | | | |
bodyType | | | | O | | | | | | |
relayParameters | | | | O | | | | | | |
relayBody | | | | O | | | | | | |
response | | | | | | | | | | |
orderNo | | | | | | | | | | |