Contiki 系统REST 引擎提供了用于定义和自动实例化RESTful Web 服务资源的宏,分层遵循Contiki 系统网络协议栈模型,这样,应用程序代码与底层协议完全分离,并且可以链接CoAP 的各种版本或HTTP 协议以实现RESTful Web 服务。Contiki 系统REST 引擎也提供了RESTful 方法、状态代码、首部选项和查询变量等到CoAP和HTTP表示的必要的映射。
REST 引擎提供了三种创建RESTful 资源的抽象,如resource、event resource 和periodic resource 等。基本REST 资源由URI 路径、允许的方法和Web 链接信息的字符串定义。对于每个资源resource,应用程序必须提供资源处理函数,该函数接收请求并生成相应的响应,这两个消息都是通过REST引擎的API接口访问的,API隐藏了实际的实现[例如函数REST.set_header_etag(response,etag_buf,etag_len)]。event resource 抽象要求应用程序开发者实现一个回调处理函数,用户定义的事件触发该处理函数,该处理函数可能是导致状态更新的按钮事件或给另一资源的PUT 方法。periodic resource 抽象用于REST 引擎定期调用类似于事件的用户定义的处理函数,该函数可用于轮询板载传感器设备,例如执行资源是否改变的门限检查。(www.xing528.com)
最后,典型的RESTful Web服务应用程序由单个C文件组成,它包含资源宏及其处理函数和Contiki进程,该进程初始化REST引擎、激活资源并可选择等待任何EVENT_RESOURCE 抽象的用户事件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。