Slim Framework 3:创建Restfull webservice

时间:2016-02-23 21:37:56

标签: json slim

我正在构建一个restfull webservice,使用Slim Framework 3返回json。 这样做的最佳方法是什么?我应该使用框架还是中间件。

我尝试过中间件,但问题是我需要返回 json 的路由以及其他返回普通html 的路由。

1 个答案:

答案 0 :(得分:1)

最好使用框架。但最终,它归结为应用程序的大小,以及维护大块代码的复杂程度。所有框架都通过抽象spagettie代码使您的生活更轻松。

中间件最适合身份验证,缓存等。您无法直接访问中间件中的路径参数。

只需智能应用程序路由即可轻松实现。利用路径分组和映射,它们非常有用。

这是我知道的一个巧妙的技巧。通过简单的操作将中间件添加到组中:

$app->group(..., ...)->add(middleware class or function goes here);

通过这样做,您可以将中间件的存在限制为该组。它对设置标头和执行身份验证很有用。

Json回复

至于生成JSON响应,我建议您使用以下技术:

return $res->withJson(data)->withHeader('Content-Type', 'application/json');

请注意,您要传递原始数据。 withJson方法将为您进行编码。您也应该在设置标题后立即返回响应,就像我上面所做的那样。如果您不这样做,则不会设置标题。