如何使用 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?

利用express搭建一个restful api 服务器

Codeigniter、Restful API 和如何使用密钥

Ceilometer RESTful框架

如何使用 ThinkJS 优雅的编写 RESTful API

如何在 JsonModel 输出 RESTful API 中获取对象