You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 14
Next »
API 카테고리는 API를 그룹화 하여 관리하기 위해서 사용하며, 하위 API에 대한 공통 설정을 정의할 수 있다.
예를들어, API 카테고리에 권한을 설정하면, 하위 API는 모두 같은 해당 권한을 일차적으로 체크하게 된다.
API Category는 다음과 같은 속성을 정의한다.
pid | valueType | description |
---|
id | STRING | 생성할 apiCategory의 ID이며 API 호출 URL의 2번째 Path에 사용 |
categoryName | STRING | apiCategory의 이름 |
apiType | CODE | API 유형 |
apiAuthority | REFERENCES | 권한 |
dateFormat | STRING | dateFormat 설정(하위의 api에 공통으로 적용) yyyy-MM-dd HH:mm:ss |
fileUrlFormat | JSON | API에 리턴되는 file URL의 Prefix 설정(하위의 api에 공통으로 적용) |
commonParameters | CHILDREN | 공통 Parameter 정의(하위의 api에 공통으로 적용)
"commonParameters": [
{
"parameter": "_siteId",
"required": true
},
{
"parameter": "_deviceType",
"required": false
}
]
|
commonResponse | CHILDREN | 하위 API Config에서 사용할 기본 Response 정의
"commonResponse": [
{
"field": "time",
"type": "field",
"value": "{{:sysdate}}"
}
]
|
apiType
Unable to render {include} The included page could not be found. |
apiAuthority
API에 리턴되는 file URL의 Prefix 설정(하위의 api에 공통으로 적용)
"fileUrlFormat": {
"default": "{{:getEnvValue('core.cluster.api-url-prefix')}}"
},
getEnvValue
application-default-loc.yml
core:
project: default
internal-port: 8080
session-timeout: 30m
cluster:
api-url-prefix: http://local.i-on.net:8080/
front-url-prefix: http://local.i-on.net:3000/
mode: all
default-service-group: all
members: 127.0.0.1
API Response :
"images": [
{
"id": "409",
"imageType": {
"value": "representative",
"label": "대표이미지"
},
"file": "http://local.i-on.net:8080/productImage/file/202010/12/198395a0-5cbf-42b8-adc8-3c392e2db0a9.jpg",
"label": "",
"name": null,
"fileSize": null,
"width": null,
"height": null
}
]
application-default-dev.yml
core:
project: default
internal-port: 8080
session-timeout: 30m
cluster:
api-url-prefix: http://dev-core.justten.io/
front-url-prefix: http://dev-builder.justten.io/
mode: all
default-service-group: all
members: 127.0.0.1
API Response :
"images": [
{
"id": "409",
"imageType": {
"value": "representative",
"label": "대표이미지"
},
"file": "http://dev-core.justten.io/productImage/file/202010/14/062c86ae-fe0a-479a-bc7b-8d70fa41c135.jpg",
"label": "",
"name": null,
"fileSize": null,
"width": null,
"height": null
}
]
커스텀 가능
Click here to expand...
apiCategory
"fileUrlFormat": {
"default": "{{:getEnvValue(core.cluster.api-url-prefix, url)}}",
"video": "{{:getEnvValue(core.cluster.wowza-url-prefix, url)}}"
}
application.yml
core:
project: sbdc
internal-port: 8080
session-timeout: 30m
single-http-connector: true
cluster:
api-url-prefix: http://dev-core.justten.io/
front-url-prefix: http://dev-builder.justten.io/
wowza-url-prefix: https://vod.justten.io/vod_stg/_definst_/%s/playlist.m3u8
mode: all
default-service-group: all
members: 192.1.1.110
propertyType.json
{
"pid": "fileValue",
"name": "파일",
"valueType": "FILE",
"required": true,
"idable": false,
"labelable": true,
"treeable": false,
"indexable": true,
"analyzer": "simple",
"fileHandler": "video",
"referenceType": "",
"referenceValue": "",
"orderNo": 30
}
VideoFileRepository.java
API Response :
mainImageFile
는 default fileHandler
fileValue
는 video fileHandler
{
"mainImageFile": "http://dev-core.justten.io/imageResource/fileValue/202007/17/48195194-c6e5-4a86-a7e4-a3e61b777032.png",
"fileValue": "https://vod.justten.io/vod/_definst_/videoResource/fileValue/202003/25/21c90041-95eb-406f-8a2b-5e15ef4bc6dd.mp4/playlist.m3u8"
}
설정 예
{
"typeId": "apiCategory",
"id": "product",
"categoryName": "product API",
"dateFormat": "yyyy-MM-dd HH:mm:ss",
"fileUrlFormat": {
"default": "{{:getEnvValue('core.cluster.api-url-prefix')}}"
},
"commonParameters": [
{
"parameter": "_siteId",
"required": true
},
{
"parameter": "_deviceType",
"required": true
}
],
"commonResponse": [
{
"field": "time",
"type": "field",
"value": "{{:sysdate}}"
}
]
}