[OutSystems] REST API에서 HTML 반환

1816 단어 restoutsystems
OutSystems에서 Basic 인증을 거친 URL에서 임의의 HTML을 반환하는 방법이 없을까라고 생각해 보았습니다.
Expose REST API의 기능이라면, 프로퍼티의 설정만으로 Basic 인증을 걸 수 있으므로, REST API를 만들어, 원하는 HTML을 돌려주면 OK군요.

Content-Type



실험해 보면 Expose REST API의 HTTP 응답에 출력되는 Content-Type의 값은 기본적으로 "text/plain; charset=utf-8"(출력 변수 유형이 Text일 때) 또는 "application/json; charset = utf-8 "(복잡한 유형의 경우)처럼 보입니다.

데이터로 HTML을 바꾸면 text/plain이라도 괜찮습니다만, 「text/html; charset=utf-8」로 하고 싶으면, HTMLRequestHandler Extension의 AddHeader Action으로 덮어쓸 수 있었습니다.


방법 1: Text 출력 변수에 HTML을 직접 출력



Text형의 출력 변수를 1개만 가지는 REST API Method를 준비해, 그 변수에 직접 HTML을 기입하는 방법입니다.


방법 2: On Response Callback에서 JSON을 HTML로 변환



REST API Method에서 HTML의 자료가 될 데이터를 출력 변수에 씁니다.
복잡한 출력 변수는 JSON 형식이므로 출력 직전에 처리를 끼우는 On Response Callback에서 변환 (JSON에서 원래 데이터로 되돌리고 로직으로 HTML을 성형)하는 방법입니다.
당초 구상 단계에서는 이쪽의 방법이 좋을까 생각했습니다만, 구현의 수고가 방법1과 그다지 변하지 않네요. On Response는 동일한 REST API에 매달리는 모든 API Method에 대해 후처리 역할을 하므로 여러 API Method가 동일한 데이터 형식을 반환하는 경우 방법 2를 취할 수 있는 기회도 있을 수 있습니다.

On Response 자체는 Expose REST API의 OnResponse 사용을 참조하십시오.

좋은 웹페이지 즐겨찾기