Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Current »

자동 생성 API는 내부 통신에서만 사용되는 API이며, 새로운 NodeType을 만들면 자동으로 생성되는 5개의 Event( Create,Update,Delete,Read,List)를 포함한 모든 이벤트에 대해서 직접 호출 할 수 있는 API이다.

API 호출 패턴

자동 생성 API는 아래 형태로 호출할 수 있다.

{{protocol}}://{{hostname}}:{{port}}/{{apiType}/{{nodeType}}/{{event}}

ApiType

ApiType

  • service : 자동 생성 API 사용 불가능. 설정 API 만 사용 가능.

  • others (admin, manager, external, internal, open) : 자동 생성 API사용 가능.

 content NodeType의 list 이벤트를 호출한다면 이와 같은 형태로 API를 호출 할 수 있다.

{{protocol}}://{{hostname}}:{{port}}/adm/content/list

{{protocol}}://{{hostname}}:{{port}}/mng/content/list

{{protocol}}://{{hostname}}:{{port}}/ext/content/list

{{protocol}}://{{hostname}}:{{port}}/int/content/list

{{protocol}}://{{hostname}}:{{port}}/api/content/list

API 호출 Method

자동 생성 API는 해당 이벤트의 유형에 따라서 사용가능한 Method가 다음과 같이 제한된다.

Command형 이벤트

  • Event의 noneExecutefalse인 이벤트는 POST 메소드만 호출 가능

  • create, update, delete

POST {{protocol}}://{{hostname}}:{{port}}/{{apiType}}/content/create

POST {{protocol}}://{{hostname}}:{{port}}/{{apiType}}/content/update

POST {{protocol}}://{{hostname}}:{{port}}/{{apiType}}/content/delete

POST {{protocol}}://{{hostname}}:{{port}}/{{apiType}}/content/{{Event}}

Query형 이벤트

  • Event의 noneExecutetrue인 이벤트는 POSTGET 둘다 허용

  • read, list

GET {{protocol}}://{{hostname}}:{{port}}/{{apiType}}/content/list

GET {{protocol}}://{{hostname}}:{{port}}/{{apiType}}/content/read?id=100

GET {{protocol}}://{{hostname}}:{{port}}/{{apiType}}/content/{{Event}}

인증

자동 생성 API는 내부에서만 사용해야하기 때문에 인증 토큰과 로그인 세션이 없는 호출은 모두 401 에러를 발생한다.

{{protocol}}://{{hostname}}:{{port}}/mng/testEvent/create

{
    "result": "401",
    "resultMessage": "로그인이 필요합니다."
}

토큰 발행 & 토큰 인증

GET {{protocol}}://{{hostname}}:{{port}}/auth/mng/jwt

GET {{protocol}}://{{hostname}}:{{port}}/auth/adm/jwt

로그인

  • required Param : id, password

POST {{protocol}}://{{hostname}}:{{port}}/mng/signIn

POST {{protocol}}://{{hostname}}:{{port}}/adm/signIn

  로그인 전/후 jwt API Respons - {{protocol}}://{{hostname}}:{{port}}/auth/adm/jwt
  • 로그인 전

{
    "result": "200",
    "resultMessage": "SUCCESS",
    "item": {
        "code": "unsigned",
        "role": [
            "anonymous"
        ],
        "lastAccessTime": 1603086688059,
        "sessionKey": "ChajS7UWvDnf5AP2p8-B3QZpT7Z-E-eFnzts5UHPHkyP4HtAqkaGU5zCSb3Lm922IqzMNcWgd2MpDlPbBFmiug",
        "contextPath": "adm",
        "siteId": null,
        "projectId": "dxp"
    }
}
  • 로그인 후

{
    "result": "200",
    "resultMessage": "SUCCESS",
    "item": {
        "code": "signed",
        "role": [
            "admin::system",
            "system",
            "role::system",
            "system",
            "adminGroup::system",
            "system",
            "admin",
            "anonymous"
        ],
        "lastAccessTime": 1603086697514,
        "sessionKey": "ChajS7UWvDnf5AP2p8-B3QZpT7Z-E-eFnzts5UHPHkyP4HtAqkaGU5zCSb3Lm922IqzMNcWgd2MpDlPbBFmiug",
        "contextPath": "adm",
        "admin": {
            "id": "system",
        },
        "userId": "admin::system",
        "securityAgreement": false,
        "siteId": null,
        "userType": "admin",
        "userRole": "system",
        "projectId": "dxp"
    }
}

  • No labels