目前關于REST 服務的話題越來越熱,kbmmw 在5.0 裡面開始支援rest。今天我就試一下kbmmw 的
rest 服務。閑話少說,開始。
老規矩,放上兩個kbmMWServer1和 kbmMWHTTPSysServerTransport1兩個控件。
設定kbmMWHTTPSysServerTransport1的server 屬性。urls 屬性預設是http://+:80/, 我們在這裡就不改了。
因為我們後面采用的是samrtservice. 是以現在在主窗體裡面不用再操心後面有什麼服務要注冊了。隻需要一句話就
ok了。
主窗體就ok 了。
接下來我們來建服務子產品
選擇這個smartservice
記住這裡要填成你定義的這個服務名。然後一路點過去。
預設生成的代碼如下:
這個代碼比較簡單,隻是定義了很少的屬性。
但是已經可以運作了。
直接在浏覽器裡面輸入http://127.0.0.1/xalionservice/helloworld 就可以看到下圖
好,最簡單的rest 服務做好了,我們繼續做更複雜的。
我們加一個輸入字元串,然後回應
在浏覽器裡面輸入http://127.0.0.1/xalionservice/echostring/xalion
和我們想象的一樣。
繼續加入更複雜的
浏覽器裡面可以輸入http://127.0.0.1/xalionservice/cal/addnumbers?arg1=10&arg2=50
很簡單吧.
下面再說一下,服務屬性的常用參數,大家可以根據自己的需要改。
// server (optional) indicates name of TkbmMWServer instance to register service with. If missing will be registered with all server instances.
// name (optional) overrides service preferred name.
// version (optional) overrides service version.
// minInstances (optional) overrides services minInstances.
// maxInstances (optional) overrides services maxInstances.
// flags (optional). Array that can contain: [ listed,runrequireauth,listrequireauth,stateful,persistent,default ]
// gatherStatistics (optional). Boolean value that can be on/off or true/false.
// maxIdleTime (optional). Integer indicating max idle time in seconds before non stateful service instance is GC'ed.
// maxIdleStatefulTime (optional). Integer indicating max idle time in seconds before stateful service instance is GC'ed.
// timeout (optional). Integer indicating max allowed time of a request in seconds before service instance is GC'ed.
// dontQueue (optional). Boolean indicating if requests should be queued or not if no instances of the service is available at time of request.
[kbmMW_Service('name:SMARTDEMO, version:1.0, minInstances:32, maxInstances:128')]
上面做完了,那麼如何通過這個REST 服務與前端的JS 顯示庫結合呢?
這個問題就留給各位同學研究吧。