Log In
|
Sign Up
Search
K 언어를 이용한 RESTful API 제작
Writer
이현민
Description
* 참고 : http://zeus.konantech.com/browse/PNS-980 * 버전 : 5.0 이상 * 설명 : K 언어를 이용한 REESTful API 제작방법과 사용예시 올립니다. 본 예시 코드는 고려대의대 SMART RT AI 시스템 구축에 적용되었습니다. * GET 방식의 RESTful API 선언 ``` string rest_ksm_pneumo_search(dict argv) as rest "GET /ksm/pneumo/search" { ... } ``` * POST 방식의 RESTful API 선언 ``` string rest_ksm_pneumo_search(dict argv, string body) as rest "POST /ksm/pneumo/search" { ... } ``` * 바이트코드 빌드 : (주의, REST url이 '/ksm/OOO'일때, 모듈명은 ksmOOO.mod로 생성되어야 함.) ``` [konan@localhost bin]$ ls pneumo.k pneumo.k $ sh remote.sh kql>> generate bytecode ksmpneumo.mod pneumo.k lib_path=../data; OK OK [konan@localhost bin]$ ls ksmpneumo.mod ksmpneumo.mod ``` * 엔진 재기동 * RESTful API 호출 ``` http://10.10.20.232:7577/ksm/pneumo/search?from=pneumo.pneumo&select=FILENAME,SYMPTOM,G1,G2,G3,G4,G5,PT,NOTE,ILD,COPD,PF2,TLU,CMT,V20,V30,MLD,AGE70&where=SYMPTOM%3d%27RP%27&limit=5 ``` * RESTful API 결과 ``` {'offset':0, 'result':[{'AGE70':'', 'CMT':'', 'COPD':'', 'FILENAME':'Nondosimetric risk factors for radiation induced lung toxicity.pdf', 'G1':'', 'G2':'', 'G3':'22.0', 'G4':'0.0', 'G5':'0.0', 'ILD':'', 'MLD':'', 'NOTE':'grade3>=`22%', 'PF2':'', 'PT':'72', 'SYMPTOM':'RP', 'TLU':'', 'V20':'', 'V30':'', '__rowid':0}, {'AGE70':'', 'CMT':'', 'COPD':'', 'FILENAME':'Radiation pulmonary toxicity17.pdf', 'G1':'7.6', 'G2':'34.3', 'G3':'2.0', 'G4':'0.4', 'G5':'', 'ILD':'', 'MLD':'', 'NOTE':'', 'PF2':'', 'PT':'251', 'SYMPTOM':'RP', 'TLU':'', 'V20':'4', 'V30':'', '__rowid':1}, {'AGE70':'', 'CMT':'', 'COPD':'', 'FILENAME':'Radiation pulmonary toxicity21.pdf', 'G1':'', 'G2':'', 'G3':'', 'G4':'0.0', 'G5':'', 'ILD':'', 'MLD':'', 'NOTE':'', 'PF2':'', 'PT':'100', 'SYMPTOM':'RP', 'TLU':'', 'V20':'', 'V30':'', '__rowid':2}, {'AGE70':'y n', 'CMT':'c', 'COPD':'', 'FILENAME':'RTOG6.pdf', 'G1':'30.3', 'G2':'14.5', 'G3':'14.5', 'G4':'1.3', 'G5':'', 'ILD':'', 'MLD':'', 'NOTE':'age70`35-79', 'PF2':'', 'PT':'76', 'SYMPTOM':'RP', 'TLU':'', 'V20':'', 'V30':'', '__rowid':3}, {'AGE70':'', 'CMT':'', 'COPD':'', 'FILENAME':'Radiation pulmonary toxicity31.pdf', 'G1':'49.3', 'G2':'23.9', 'G3':'1.4', 'G4':'', 'G5':'2.8', 'ILD':'', 'MLD':'', 'NOTE':'', 'PF2':'', 'PT':'71', 'SYMPTOM':'RP', 'TLU':'', 'V20':'23.0', 'V30':'', '__rowid':4}], 'summary':[{'AVE':23.43986, 'GRD':'G1', 'STD':24.800638}, {'AVE':11.46014, 'GRD':'G2', 'STD':21.048821}, {'AVE':3.555944, 'GRD':'G3', 'STD':6.340749}, {'AVE':0.088112, 'GRD':'G4', 'STD':0.372618}, {'AVE':0.165035, 'GRD':'G5', 'STD':0.643464}], 'total':143} ```
Tag
RESTful REST
Module Name
restful_api_using_k
Attachments
pneumo.k (4.4kb)
Comments
Save
이현민 |
2018-02-19 14:55:18
참고로, "export" 구문은 5.x 이상부터 적용되는 스펙입니다. 4.x의 경우는 "export"대신에 "extern"을 써주세요.
참고로, "export" 구문은 5.x 이상부터 적용되는 스펙입니다. 4.x의 경우는 "export"대신에 "extern"을 써주세요.
참고로, "export" 구문은 5.x 이상부터 적용되는 스펙입니다. 4.x의 경우는 "export"대신에 "extern"을 써주세요.
Save
Cancel
Save
Cancel
Warning
Login