このシンプルな例をREST APIで書き換えるとこんな感じです。
まずはCSPファイルです。
<html>
<body>
<!--フォームの記述-->
<form name="f1">
<input type="text" value="" name="text1">
<input type="button" value="test" onclick="runMyRoutine();">
</form>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<!-- ボタンクリックで最初に呼び出されるJavascript関数 -->
<script language="javascript">
function runMyRoutine() {
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 = $$$OK
try {
if $data(%request) {
set %response.ContentType="application/json"
set %response.CharSet = "utf-8"
}
set return = {}
set return.Message = "Hello "_pName
write return.%ToJSON()
}
catch e {
set status = e.AsStatus()
}
quit status
}
}
RESTアプリケーションの設定例.png)
- コメントを投稿するにはログインしてください