Skip to content

uEngine5 API Reference

Jinyoung Jang edited this page Nov 11, 2017 · 20 revisions

원칙

  • uEngine5 의 모든 API 들은 REST MM 3 인 Hateoas(HAL) 수준을 준수한다: https://en.wikipedia.org/wiki/HATEOAS
  • 따라서 hybind 와 같은 Javascript binding library 를 통해 쉽게 UI 와 인터랙션 하도록 한다.

Resources

/definition

  • 폴더의 생성
http PUT localhost:8080/definition/folder
http PUT localhost:8080/definition/folder/folder2
  • 정의의 저장: (raw 가 꼭 들어가야 한다)
http POST localhost:8080/definition/raw/folder/object1.json definition="Hello"
http POST localhost:8080/definition/raw/folder/object2.json definition="Hello this is object 2"
  • 정의의 인출: (raw 가 꼭 들어가야 한다)
http GET localhost:8080/definition/raw/folder/object1.json
  • 파일의 리스팅
http GET localhost:8080/definition
http GET localhost:8080/definition/folder

결과

{
    "_embedded": {
        "definitions": [
            {
                "_links": {
                    "self": {
                        "href": "http://localhost:8080/definition/folder/folder2"
                    }
                }, 
                "directory": true, 
                "name": "folder2", 
                "path": "folder/folder2"
            }, 
            {
                "_links": {
                    "raw": {
                        "href": "http://localhost:8080/definition/raw/folder/object1.json"
                    }, 
                    "self": {
                        "href": "http://localhost:8080/definition/folder/object1.json"
                    }
                }, 
                "directory": false, 
                "name": "object1.json", 
                "path": "folder/object1.json"
            }, 
            {
                "_links": {
                    "raw": {
                        "href": "http://localhost:8080/definition/raw/folder/object2.json"
                    }, 
                    "self": {
                        "href": "http://localhost:8080/definition/folder/object2.json"
                    }
                }, 
                "directory": false, 
                "name": "object2.json", 
                "path": "folder/object2.json"
            }
        ]
    }
}
  • 파일명의 변경
http PATCH localhost:8080/definition/folder/object1.json path="folder/object_one.json"
  • 파일위치의 변경
http PATCH localhost:8080/definition/folder/object2.json path="folder/folder2/object2.json"
  • 폴더명의 변경
http PATCH localhost:8080/definition/folder/folder2 path="folder/folder_two"
  • 파일/폴더의 삭제
http DELETE localhost:8080/definition/folder/folder_two
http DELETE localhost:8080/definition/folder/object2.json
Clone this wiki locally