直接在services中返回json响应

sin*_*nak -2 php symfony

我想直接在服务中返回 jsonReponse,而不是仅将 json 返回到控制器中的方法

这是我在控制器中的方法,我想显示状态 = 200 并完成的响应:

/**
 * @Route("/ab", name="ab")
 */

public function abTest()
{
    $this->service->serviceIndex();
    return new JsonResponse(['status'=>208,'result'=>"RIGHT"],208);
}
Run Code Online (Sandbox Code Playgroud)

这是我的服务:

class serviceTest
{
    public function serviceIndex()
    {
        return new JsonResponse(['status'=>200,'result'=>"ok"],200);
    }
}
Run Code Online (Sandbox Code Playgroud)

dec*_*eze 5

不,你不想这样。这正是服务和控制器之间存在分离的原因。您也可以在其他情况下使用服务(例如从其他服务调用它),在这种情况下您不需要任何类型的自动 JSON 响应。服务是内部的。控制器是“外部世界”和内部世界之间的接口,因此控制器的工作就是将服务返回的任何内容调整为适合外部世界的内容(JSON/HTML/文本/其他)。