如何允许访问其他站点以从您的站点/数据库中检索数据?

时间:2014-12-19 14:37:10

标签: php json rest

我有2个网站。我们称之为:

  • A
  • B

网站B有一个很好的数据列表及其所有关系。 我想允许网站A访问网站B并加载data

  • 当然,网站A需要某种凭据,api_keys或密码才能访问网站B。对 ?我从来没有这样做过。

  • 然后在凭据匹配后,网站B会将数据作为json文件返回到网站A

  • 然后,网站A将收到该json文件,并将其加载到HTML中并显示它。

我希望我对自己的目标很清楚。

这是我尝试过的:

在做了一些研究之后,我遇到了这个site。我真的很喜欢它。我完成了它。现在,我有点了解RESTful API。

现在,转到code


在我的filters.php我修改

Route::filter('auth.basic', function()
{
    return Auth::basic("username");
});

在我的routes.php

Route::get('/authtest', array('before' => 'auth.basic', function(){
    return return "It's work !";
}));

之后,我跑

注意

  • username = firstuser
  • password = first_password

C:\瓦帕\ WWW \ laravel-1
λcurl --user firstuser:first_password localhost/l4api/public/index.php/authtest

我看到了

It's work !


截至目前,它只返回一个字符串。

  • 如果我想以json格式返回整个用户表,我该怎么做?
  • 到目前为止,我还没有使用任何api_key?那不好吗 ?

    对于参与此帖子的每个人来说都很大thanks

1 个答案:

答案 0 :(得分:1)

在你的routes.php中,你应该像这样添加......

路由:: get(' / api / distributor',数组('之前' =>' auth.basic','使用&# 39; =>' DistributorController @ api_index'));

}));

Controller

<?php 

$user = $distributor->user()->first();

$Data = [


    'user' => $user->toArray(),
    'distributor' => $distributor->toArray(),
    'contacts' => $distributor->contacts()->get()->toArray(),
    'addresses' => $distributor->addresses()->get()->toArray()
];

$json_string = json_encode($Data, JSON_PRETTY_PRINT);

?>

<强>逻辑

  • 查询您需要的任何内容
  • 将它们存储在数组索引
  • 对数据进行编码
  • 在发送之前让你的json漂亮

然后,另一个站点将收到包含其中所有数据的1个json文件。 然后他们需要对其进行解码,他们可以将所有这些解码为HTML/PHP格式。