如何使用 Wt 启动和运行 Restful API
Posted
技术标签:
【中文标题】如何使用 Wt 启动和运行 Restful API【英文标题】:How to get Restful API up and running using Wt 【发布时间】:2014-09-16 03:09:38 【问题描述】:我有一个基于整个网络教程的正在运行的 Wt 应用程序,我想知道是否有一种优雅的方式可以使用 Wt 添加一些 Restful API 功能。
我有一些资源可以从我当前的应用程序中公开,我不想实施任何补丁。
如果有人对如何做到这一点有一个很好的想法,或者甚至是一些可以使开发变得轻而易举的 JSON 库的建议,我将非常感激。
【问题讨论】:
【参考方案1】:您应该继承 WResource
并实现 WResource::handleRequest
方法以提供 REST API 功能。然后你应该使用WServer::addResource
将你的资源添加到你的服务器
您还应确保在主 Wt 应用程序入口点之前将资源添加到服务器:
Wt::WServer server(argv[0]);
server.setServerConfiguration(argc, argv, WTHTTP_CONFIGURATION);
server.addResource(new MyResource, "/api"));
server.addEntryPoint(Wt::Application, createApplication);
【讨论】:
为什么在入口点之前添加资源很重要? 哦,像redmine.webtoolkit.eu/boards/2/topics/4358 一样实现它,但是使用WApplication
入口点,然后在每次路径刷新时,它都会尝试重新addResource()
,这会引发致命错误。由于某种原因,按照这个答案实现它阻止了我从我的配置文件中读取。
嗯,编辑我的评论为时已晚。原来我应该从WServer
中读取配置选项,而不是WApplication
.. 很抱歉用 cmets 向这个答案发送垃圾邮件:S以上是关于如何使用 Wt 启动和运行 Restful API的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 中同时公开 SOAP Web 服务和 RESTful API?
Codeigniter、Restful API 和如何使用密钥