我正在嵌入式堆栈中实现一个webserver,它提供了一个没有REST特性的RESTful服务器。准确地说,嵌入式堆栈是运行在MQX操作系统之上的RTCS,微控制器是飞思卡尔公司的K60。我能够区分GET/POST/DELETE/PUT请求,并获得带有参数的url (例如/this/firstValue/that/secondValue/.)。
我使用strtok来分离url的不同元素并作出决定。但是我的代码很难看,因为它充满了strcmp函数和if语句。我还需要检查firstValue和secondValue的边界(我可以在set/get函数中这样做,但是每个参数的2个函数将是重复标题)。此外,我希望能够添加参数,而不影响决策树。
我有两个问题:
我评估了其他一些解决方案:
--
埃米利安
发布于 2012-10-19 10:23:49
REST是一种体系结构模式,所以我想您的意思是您的服务器提供HTTP。
资源是“任何可以命名的数据”。例如,嵌入式设备上的led可以是‘/ LED /led 3’的URI,您可以更改它持有的数据(它的状态,rgb主导的?)使用标准的PUT请求,并且GET应该返回其当前状态。
至于编码,如果内存允许使路径查找尽可能简单的话,一般的树结构可能是明智的。使用数据和函数指针(模拟对象)在leafs上
https://stackoverflow.com/questions/12971531
复制相似问题