cinatra
cinatra copied to clipboard
能否基于cinatra实现rest服务端
我觉得是可以的,因为可以在业务函数里处理各种请求。
可以在项目外加一个 extension, 用 class-based RESTful 风格的 API
class person : public cinatra::resource
{
public:
void * get(int id)
{
}
}
可以列举一些框架的做法,看看怎么处理比较好。
issue 所问是想要这种可继承 class resource {}
基类类的API?
这种 API 的优势是利于快速开发,简洁易懂。
server 端的 RESTful style 可借鉴
- https://flask-restful.readthedocs.io/en/latest/quickstart.html#resourceful-routing
- https://github.com/ruby-grape/grape-on-rack/blob/master/api/entities.rb
关心 C++ 两点,
-
InheritedResource::post()
如何把返回的泛型实例,转化为response
对象 -
void* get(int id)
没有 bind request 形参,比较方便查看 RESTful 中的URL parameters
,那么io_context
内的request
如何获取,Python-Flask 框架 是使用了 stack, 而cinatra 好像是 stackless 协程?
我觉得这个不应放在cinatra项目来考虑,毕竟是业务上的事情,与库基本没啥关系
restfull api已经支持了