このシンプルな例をREST APIで書き換えるとこんな感じです。
まずはCSPファイルです。
<html><body><!--フォームの記述--><formname="f1"><inputtype="text"value=""name="text1"><inputtype="button"value="test"onclick="runMyRoutine();"></form><scriptsrc="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script><!-- ボタンクリックで最初に呼び出されるJavascript関数 --><scriptlanguage="javascript">functionrunMyRoutine() {
axios.get('http://localhost:8080/api/user/getMessage/Hiroshi')
.then(response => {
console.dir(response)
self.document.f1.text1.value = response.data.Message
})
.catch(error => {
console.log(error)
})
}
</script></body></html>
次に呼び出されるREST APIのクラスです。
Class Samples.API Extends%CSP.REST
{
Parameter CONVERTINPUTSTREAM = 1;
XData UrlMap
{
<Routes>
<Route Url="/getMessage/:name" Method="GET" Call="GetMessage"/>
</Routes>
}
ClassMethod GetMessage(pName As%String) As%Status
{
set status = $$$OKtry {
if$data(%request) {
set%response.ContentType="application/json"set%response.CharSet = "utf-8"
}
setreturn = {}
setreturn.Message = "Hello "_pName
writereturn.%ToJSON()
}
catch e {
set status = e.AsStatus()
}
quit status
}
}
RESTアプリケーションの設定例.png)
- コメントを投稿するにはログインしてください