用单独文件和 URLDispatcher...
创建一个 API
创建一个 APIFunction 返回两个城市之间的距离:
- 与 TravelDistance 返回的 Quantity 相比,QuantityMagnitude 更易于外部程序理解.
创建网页表单界面
将 FormFunction 应用于 API 参数以构建表单:
- FormFunction 和 APIFunction 有相同签名,因此同一内容可相互使用.
为应用程序创建端点
使用 URLDispatcher 创建多个端点以直接访问 Web 表单或 API:
导出为应用文件
创建一个目录来存储应用程序文件:
用 Export 将内容写到名为 dispatcher.wl 的文件中:
服务应用
打开终端窗口并导航到应用程序文件夹位置:
$ cd ~/Desktop/city-distance-app
运行以下命令为应用程序提供服务:
$ python -m wolframwebengine dispatcher.wl
----------------------------------------------------------------------
Address http://localhost:18000/
File path/city-distance-app/dispatcher.wl
----------------------------------------------------------------------
(Press CTRL+C to quit)
转到 http://localhost:18000,然后单击 Use the Form 超链接以转到相应的端点:
使用应用程序
查询柏林到巴黎的距离:
在目录布局中使用多个文件...
创建 API[]
创建网页表单界面
将 FormFunction 应用于 API 参数以构建表单:
- FormFunction 和 APIFunction 有相同签名,因此同一内容可相互使用.
创建目录
创建一个目录来存储应用程序文件:
为 API 创建一个子目录:
为表单创建一个子目录:
导出应用文件
使用 Map 将应用文件批量导出到相应的位置,包括 API 和表单:
- 所有扩展名为 .m、.mx、.wxf、.wl 的文件都在内核中使用 GenerateHTTPResponse 对文件内容进行计算,因此 index.wl 表达式必须用 Delayed包装.
- .m、.mx、.wxf、.wl 以外的文件扩展名用于静态内容.
服务应用
打开终端窗口并导航到应用程序文件夹位置:
$ cd ~/Desktop/city-distance-app
运行以下命令为应用程序提供服务:
$ python -m wolframwebengine city-distance-app
----------------------------------------------------------------------
Address http://localhost:18000/
Folder path/city-distance-app
Index index.wl
----------------------------------------------------------------------
(Press CTRL+C to quit)
- 如果请求路径对应于磁盘上的目录,则服务器将在该目录中搜索名为 index.wl 的文件. 可以使用 --index 选项更改此规范.
转到 http:// localhost:18000,然后单击 Use the Form 超链接以转到相应的端点: