通知
清除所有

锎CoAP路径参数

RSS

(@anamika)
贵族成员
加入:1年前
帖子:1381
19/07/2021 31点

我正在使用Eclipse Californium开发CoAP应用程序,我需要像在rest式web服务中那样使用URL传递参数。是否有可能在加州coap实施,如果有,请让我知道如何做。例:

coap: / / localhost: 5683 / foo / {fooID}

报价
(@sathish)
成员 主持人
加入:1年前
帖子:1391
19/07/2021 32点

简短的回答是,是的,你能做到。

如JavaDocs中所述

  • 当请求到达服务器时,{@link servermessagedeliver}将在资源树中搜索目标资源。通过在每个元素上调用方法{@link #getChild(String)},它沿着资源树向下查找目标URI的一个元素又一个元素。允许重写此方法并返回任意资源。这允许实例使用通配符服务uri,或将请求委托给同一资源的任何子uri。

所以基本上你必须重写deliverRequest也许findResource方法在org.eclipse.californium.core.server.ServerMessageDeliverer以便返回适当的资源来处理请求。它还需要分析Exchange Request UriPath作为资源处理的一部分,以获取路径变量(这可以通过使用.getUriPath .getOptions .getRequest CoapExchange.advanced () () () ()

基于Californium的源代码,重写请求传递者的默认行为应该是相当容易的。


回复报价
分享:
Baidu