我已经创建了一个应用程序,用户将使用C或Python发送程序,并通过STDIN发送,我的API将以JSON格式返回Program的输出。
Nodejs / Expressjs代码:
…
在我看来,你走的方式并不是很重要,很多将取决于应用程序的其余部分。如果您的所有应用程序都使用代码,运行它,并提供输出,那么很可能会很好。
你显然可以看到这可能是一个RPC调用,有类似的东西 /exec ,但它也可以很容易地成为REST调用,特别是如果你想添加某种形式的日志记录。例如: POST /program 可以设计为使用一些代码,在数据库中创建“程序”,运行代码,并将输出记录在数据库中的程序旁边。然后,您将返回该程序,并将其响应给客户端。
/exec
POST /program
如果你真的只是消费代码,运行代码,并通过HTTP提供输出,那么为了简单起见,我很想使用JSON-RPC类型的端点并显示意图(简单地触发一个动作)。
这在很大程度上取决于您的应用程序的未来以及它可能变得多大,以及您将拥有的其他功能。如果您要将90%的RESTful API和几个端点作为JSON-RPC,那么我只需要使用REST API来保持一致性。