ApolloStudio高手之路(22):WebAPI(HTTP Server)的搭建和调用

2024-04-14 06:58

本文主要是介绍ApolloStudio高手之路(22):WebAPI(HTTP Server)的搭建和调用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        在现如今的智慧工厂项目中,对不同设备之间的通讯需求越来越多,目前较为普及的主要是WebService以及WebAPI,而且后者因其设计和部署的便利性将有逐步完全替代前者的趋势,ApolloStudio同时支持这两种通讯方式,本文将着重以WebAPI的通讯方式进行介绍。

WebAPI的搭建

        在ApolloStudio中的,WebAPI主要是以脚本函数的方式进行创建:

开启服务:设置一个本地空闲的TCP端口号,带入到函数中传参当中作启动参数。

关闭服务:当程序执行完毕时,需手动调用该函数,即可关闭端口释放资源。

绑定节点:可以设置不同的节点所对应的处理函数。

我们根据上面的介绍编写测试脚本如下:

#-*- coding: UTF-8 -*-
#加载内嵌模块
import clr,sys,time,datetime,threading#后台线程监控系统状态
def subloopthread():while AS.Func_Sys_GetSysStatus():#获取系统状态,便于安全退出time.sleep(0.5)#系统执行完毕后,执行关闭操作AS.Func_HttpServer_Close()#节点func1绑定的函数,需保留入参inputdata
def func1(inputdata):return '{"RES1":"%s"}'%inputdata#节点func2绑定的函数,需保留入参inputdata
def func2(inputdata):return '{"RES2":"%s"}'%inputdata#启动WebAPI服务器
AS.Func_HttpServer_Start(17890)
#绑定一个节点,这里举例按func1测试
AS.Func_HttpServer_BindNode("/func1", func1)
#可以绑定多个节点,这里举例按func2测试
AS.Func_HttpServer_BindNode("/func2", func2)
#启动后台监控线程
t = threading.Thread(target=subloopthread, name='SubLoopThread')
t.start()#模拟主线程循环
while True:time.sleep(0.5)

        在上面的测试脚本中,我们设置了2个节点func1和func2,这里节点的定义数量是没有限制的,可以根据实际的业务需要绑定更多的节点以完成操作。同时我们还定义了一个后台线程来监控系统是否已退出,当后台线程检测到主流程已退出时,这时就会自动销毁已开启的HTTP服务器资源 。

        WebAPI服务端默认绑定的本地地址0.0.0.0,我们这里是采用的本地测试,故使用127.0.0.1这个IP地址进行访问,对应的在Url中,地址则为http://127.0.0.1:17890,这个为基地址,后面则接上对应的节点即可访问,例如在脚本中所定义的/func1这个节点,完整的访问链接则为http://127.0.0.1:17890/func1,在下面的测试中可以注意下这一点。

        在ApolloStudio中加载完测试脚本后,即可进行调用测试,这里我们通过脚本任务项来加载测试,并未做其他的附属功能。

WebAPI服务器的测试

        这里我们可以选择PostMan、ApiPost等常用的测试工具进行标准化测试,这里我们以ApiPost测试工具为例:

        新增一个测试接口,这里填写本地URL地址:

        调用func1节点则对应的Url为:http://127.0.0.1:17890/func1

        调用func2节点则对应的Url为:http://127.0.0.1:17890/func2

        即可在下面的结果栏里看到返回的信息。这里我们是以json的格式进行双向传输,请求格式里选择为application/json,请求端带入的参数(这里我们随意定义的数值123)将会被脚本函数中的inputdata进行接收,在函数中j经过处理后,再通过return返回函数的调用结果,函数的返回结果将作为请求的响应进行反馈到请求端的获取结果处。

        到此便是简单的搭建和调用了WebAPI服务功能来进行演示,本文仅为功能的简单说明,以作抛砖引玉之效,大家可以根据自己的实际需要进行改进和应用。

    ***********************************************************************************************************************************************

ApolloStudio最新版下载地址(网盘有交流群号):

(点击跳转至首页文章,见文章最底部下载链接)

这篇关于ApolloStudio高手之路(22):WebAPI(HTTP Server)的搭建和调用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/902375

相关文章

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SQL Server 中的 WITH (NOLOCK) 示例详解

《SQLServer中的WITH(NOLOCK)示例详解》SQLServer中的WITH(NOLOCK)是一种表提示,等同于READUNCOMMITTED隔离级别,允许查询在不获取共享锁的情... 目录SQL Server 中的 WITH (NOLOCK) 详解一、WITH (NOLOCK) 的本质二、工作

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S