PB开发HTTP服务端方案PowerServer

文章目录

PowerServer简介

PowerServer是一个PowerBuilder语言的HTTP服务端框架。使用PowerServer,可以实现以PowerBuilder语言快速开发HTTP后端服务的目标。PowerServer将HTTP请求映射到PowerBuilder类中的方法,只要实现出方法,即可通过HTTP服务调用。此外,PowerServer还内置了拦截器功能,为PowerBuilder开发者提供了面向切面编程的方式。

PowerServer的设计思想是依赖注入。PowerServer启动时,Session会自动实例化所有的powerserverobject,不需要开发者额外编写create代码。接收到HTTP请求时,PowerServer首先将请求地址映射到powerservercontroller实例的方法,再依据请求的内容类型,按不同策略将请求数据注入方法的入参,方法调用完成后将返回对象转化为HTTP响应。

如何使用

配置PowerServerConfig.json

{
   "port": "8091",
   "targetName": "powerserver_demo",
   "pbvm": "PBVM125.DLL",
   "authCode": "",
   "sessionCount": 2
}

port : 端口号
targetName : PowerBuilder项目名称
pbvm :PBVM.DLL文件路径
sessionCount : PowerBuilder进程数

创建PB12.5项目,引入powerserver.pbl

PB开发HTTP服务端方案PowerServer
PB开发HTTP服务端方案PowerServer

编译PB12.5项目,拷贝pbd文件

编译出的pbd文件拷贝至PowerServer\PowerLib目录
PB开发HTTP服务端方案PowerServer

启动PowerServer.exe

PB开发HTTP服务端方案PowerServer
PowerServer.exe启动时,控制台会打印出已加载的控制器、拦截器、定时器、PB进程、当前端口号等信息
PB开发HTTP服务端方案PowerServer

快速开始

示例 : Hello World

1.创建PB12.5项目powerserver_demo,引入powerserver.pbl

PB开发HTTP服务端方案PowerServer

2.新增类psc_helloworld,继承powerservercontroller

添加方法hello,返回类型string,代码如下:

return 'Hello World from PowerServer'

PB开发HTTP服务端方案PowerServer

3.编译项目,拷贝pbd文件至\PowerServer\PowerLib目录

PB开发HTTP服务端方案PowerServer

4.配置PowerServerConfig.json

PB开发HTTP服务端方案PowerServer

5.启动PowerServer.exe

可以看到,刚才创建的服务 /psc_helloworld/hello 已经成功加载
PB开发HTTP服务端方案PowerServer

6.测试服务

PB开发HTTP服务端方案PowerServer

示例 : 表单参数注入

1.新增测试类psc_demo01,继承powerservercontroller,添加方法test01

return 'id : ' + id + '~nname : ' + name

PB开发HTTP服务端方案PowerServer

2.编译项目,覆盖pbd文件,启动PowerServer.exe

PB开发HTTP服务端方案PowerServer

3.测试服务

测试GET方法:
PB开发HTTP服务端方案PowerServer
测试POST方法,设置Content-Type为application/x-www-form-urlencoded:
PB开发HTTP服务端方案PowerServer

示例 : 文本参数注入

1.测试类psc_demo01新增方法test02

return 'input string parameter : ' + param

PB开发HTTP服务端方案PowerServer

2.编译项目,覆盖pbd文件,启动PowerServer.exe

PB开发HTTP服务端方案PowerServer

3.测试服务

设置Content-Type为text/plain:
PB开发HTTP服务端方案PowerServer

项目与文档下载

PowerServer项目与文档下载 提取码:jb0d

使用过程中出现问题请反馈作者:
QQ:768310524
TEL、WX:18649713925

上一篇:PB开发WebSocket服务端方案PowerServer


下一篇:C语言——第七章:结构与联合