Laravel REST API调用返回状态为200的虚拟数据

时间:2016-08-20 04:26:40

标签: php json rest api laravel

我正致力于制作移动应用后端apis。我正在研究的api只是获取用户信息。 我正在使用Postman app测试api。

当我在邮递员上调用api时,它会成功返回JSON数据,但有时会返回相同api调用的虚拟数据。 当我再次尝试时,它会返回正确的JSON数据。

我附上两个屏幕。 这是问题: enter image description here

下面显示正确答案:

enter image description here

我正在使用Github的Laravel5.1和OAuth2身份验证模块(lucadegasperi / oauth2-server-laravel)。 服务器托管在Bluehost上。

这是laravel代码:

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index($id = null)
    {
        if($id == null) {
            $my_id = Authorizer::getResourceOwnerId();
            return User::find($my_id);
        }
        else
            return User::find($id);
    }

我正在努力解决这个问题一周,请帮助我。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

看起来它与Incapsula有关。我不知道这是你设置的,还是由主机设置的,但是你网站的流量是通过Incapsula进行的。你的一些POSTMAN请求正常,但其中一些请求被Incapsula阻止,可能是因为他们看起来像是在试图抓住你的网站。

如果您可以控制此问题,则可能需要在开发和测试时将本地IP列入白名单。

答案 1 :(得分:0)

Bluehost不提供incapsula服务,但服务器DNS在Godaddy上分配,然后移动并且Godaddy设置了incapsula。 我在Bluehost上有停放域并替换了我的代码上的域名地址,问题就消失了。