附录 3 ActFramework 内置服务

    ActFramework 在开发模式下扫描程序源代码生成 API 文档. 访问 API 文档的坐标是 GET /~/apibook:

    1.2 GET /~/asset

    ActFramework 内置了一些 css/js 资源文件, 主要用来支持:

    1. 开发模式下的错误页面

    一般情况下应用程序不应该访问 /~/asset/ 下面的资源

    1.3 POST /~/i18n/locale

    该端点为应用程序提供改变当前用户会话的 Locale 的服务. 具体信息请参考国际化

    该端点为应用程序提供改变当前用户会话时区的服务. 具体信息请参考

    1.5 GET /~/info

    当通过浏览器直接访问该端点, 获得类似下面的信息:

    如果是 JavaScript 发出 JSON 类型的请求, 则获得类似下面的返回结果:

    1. {
    2. "actVersion": "r1.8.7-2f28",
    3. "appName": "helloworld",
    4. "appVersion": "v1.0-SNAPSHOT-180408_1425",
    5. "group": "",
    6. "mode": "DEV",
    7. "pid": "31898",
    8. "profile": "dev"

    1.6 GET /~/job/{id}/progress

    这是一个 websocket 服务端点, 为应用提供查询异步作业进度服务. 具体信息参考作业调度

    返回应用的进程号, 直接从浏览器访问结果示例:

    发出 Accept=application/json 的请求,返回结果为:

    1. {
    2. "pid": "31898"

    1.8 GET /~/version

    返回当前应用的版本信息. 访问该段口得到的返回结果示例:

    1.9 GET /~/zen

    返回应用的箴言列表. 这个服务端点对应用没有具体意义

    2. 安全考虑与禁用内置服务

    在 ActFramework 内置的服务端点中有些会泄露系统内部信息, 应该加以安全控制. 如果应用使用 act-aaa 提供安全服务, 除下列服务外所有其他的内置服务端点都需要接受安全认证:

    • GET /~/apibook
    • GET /~/asset
    • POST /~/i18n/locale
    • POST /~/i18n/timezone
    • GET /~/zen

    明确地讲, 访问下面的内置服务需要接受认证:

    • GET /~/info
    • GET /~/job/{id}/progress
    • GET /~/pid
    • GET /~/version

    如果需要完全禁用内置服务, 在应用配置文件中加上:

    注意 下面的服务端点可能会影响应用的功能, 因此不能被禁用:

    • GET /~/asset
    • POST /~/i18n/locale
    • GET /~/job/{id}/progress

    apibook 只能用于开发模式, 因此也不会被禁用.