问下REST API里URL特殊字符(?,&)和参数解析的问题,懂CPPCMS的话更好

officercat 2014-10-15 11:51:06
最近用CPPCMS实现web service的rest api

http://localhost:8080/query/officercat?xxxx
我期望得到的匹配子串是xxxx (也就是(\S+)部分),下面这个assign始终不成功,我把url还有正则里的“?” 都去掉就行了。但这样就不符合一般习惯了。
cppcms的app里的构造函数代码如下
dispatcher().assign("/officercat\\?(\\S+)",&HDFSWeb::officercatQuery,this,1);
对应处理函数
void HDFSWeb::officercatQuery(std::string parameter) { }

但根本就没有把url和函数匹配上。这里因为是C++,所以转义符号得用"\\"

我这个regex的模式应该也没问题,用python和boost::regex库验证,都能返回xxxx


如果我不要"?"
http://localhost:8080/query/officercatxxxx,倒是很容易解决,那么问题来了,学习挖掘机技术哪家强?

开个玩笑,我是发现一般网站rest api里的参数都是在问号后面,http://localhost:8080/query/officercat?id=x&name=y
这样,所以我想问,这种格式既然被普遍采用,有没有特殊的解析办法直接就分理出参数部分呢?如果没有一个特定的解析方法,那为啥约定俗成用?和&呢?


...全文
1815 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
officercat 2015-11-14
  • 打赏
  • 举报
回复
是我还没吃透cppcms api的用法,基本都是很典型的应用
业余草 2014-10-22
  • 打赏
  • 举报
回复
api里有提供的现成的,直接调用就行

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧