天天看點

kbmmw 5.0 中的REST 服務

目前關于REST 服務的話題越來越熱,kbmmw 在5.0 裡面開始支援rest。今天我就試一下kbmmw 的

rest 服務。閑話少說,開始。

kbmmw 5.0 中的REST 服務

老規矩,放上兩個kbmMWServer1和 kbmMWHTTPSysServerTransport1兩個控件。

kbmmw 5.0 中的REST 服務

設定kbmMWHTTPSysServerTransport1的server 屬性。urls 屬性預設是http://+:80/, 我們在這裡就不改了。

因為我們後面采用的是samrtservice. 是以現在在主窗體裡面不用再操心後面有什麼服務要注冊了。隻需要一句話就

ok了。

主窗體就ok 了。

接下來我們來建服務子產品

kbmmw 5.0 中的REST 服務

選擇這個smartservice

kbmmw 5.0 中的REST 服務

記住這裡要填成你定義的這個服務名。然後一路點過去。

預設生成的代碼如下:

這個代碼比較簡單,隻是定義了很少的屬性。

 但是已經可以運作了。

直接在浏覽器裡面輸入http://127.0.0.1/xalionservice/helloworld 就可以看到下圖

kbmmw 5.0 中的REST 服務

好,最簡單的rest 服務做好了,我們繼續做更複雜的。

我們加一個輸入字元串,然後回應

在浏覽器裡面輸入http://127.0.0.1/xalionservice/echostring/xalion

kbmmw 5.0 中的REST 服務

和我們想象的一樣。

繼續加入更複雜的

浏覽器裡面可以輸入http://127.0.0.1/xalionservice/cal/addnumbers?arg1=10&arg2=50

kbmmw 5.0 中的REST 服務

很簡單吧.

下面再說一下,服務屬性的常用參數,大家可以根據自己的需要改。

 // 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 顯示庫結合呢?

這個問題就留給各位同學研究吧。