美文网首页
PHP学习之路5-一个简单的接口

PHP学习之路5-一个简单的接口

作者: AaronYin | 来源:发表于2018-01-24 08:09 被阅读24次

学习PHP是想开发一个APP后台,所以为了打通流程,先开发一个最简单的接口试试。

阅读官方路由器文档和控制器文档

1. 官方路由器文档
2. 官方控制器文档
3. 路由中文文档5.0
4. 控制器中文文档

注意中文文档中的内容在最新版本中有所变化,所以还要结合最新的官方文档看。

打开routes\api.php,添加一个路由

  1. 首选需要获得一个 API 路由的实例
$api = app('Dingo\Api\Routing\Router');
  1. 添加一个路由
$api->version('v1', ['namespace' => 'App\Http\Controllers'], function ($api) {
    $api->get('test', 'TestController@test');
});
  • 'v1'是版本,
  • 'namespace':是命名空间
  • $api->get('test', 'TestController@test');
    • get()表示http method为get,即get请求。那么post()即为post请求,以此类推
    • ‘test’:为接口名,注意如果前面在.env中配置了接口前缀,比如:api,测试的时候别放了加上,api/test
    • ‘TestController@test’:表示这个请求交给TestController的test()方法处理

接下来,我们就创建一个控制器。

  1. 更多内容查看文档

Creating API Endpoints-创建端点

创建控制器

  1. 首先打开app\Http\Controllers目录下的Controller,这个文件是生成的工程自带的一个控制器,我们把它作为我们的根控制器,新建的控制器继承它

为它添加如下代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Dingo\Api\Routing\Helpers;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests, Helpers;
}
  1. 在app\Http\Controllers目录下,创建一个文件TestController,集成Controller
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class TestController extends Controller {

}
  1. 添加test()方法
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class TestController extends Controller {

    public function test() {

        return $this->response->accepted(null, ['code'=>'1000000', 'message'=>'test']);

    }

}

在test方法中,返回一个http response,并返回一个json数据,表示处理结果。

测试

创建一个客户端,进行测试,我是创建了一个iOS客户端进行测试的

//注意前缀
let url = "http://localhost:8080/api/test"

Alamofire.request(url, method: .get, parameters: nil, encoding: URLEncoding.default, headers: headers).responseJSON { (response) in
            if response.error != nil {
                if let error_data = response.data {
                    let error_string = String(data: error_data, encoding: .utf8)
                    print(error_string!)
                }
            } else {
                print(response.result.value ?? "")
            }
        }

还可以在接口名称中传递一些参数

比如说/test/{id},在文档中有详细的说明,而且也比较简单。

参考文档

1. 官方路由器文档
2. 官方控制器文档
3. 路由中文文档5.0
4. 控制器中文文档
Creating API Endpoints-创建端点

相关文章

  • PHP学习之路5-一个简单的接口

    学习PHP是想开发一个APP后台,所以为了打通流程,先开发一个最简单的接口试试。 阅读官方路由器文档和控制器文档 ...

  • php写一个简单的接口

    前端开发必要了解的知识:写一个简单的接口 封装一个接口类 responseApi.class.php 特定返回数据...

  • 用php写出的接口和小程序碰出来的“火花”

    小程序用wx.request来获取接口数据。用php写的接口,php要返回json格式很简单,直接用json_en...

  • php总结

    总结PHP学习: (1) 前端:PHP工程师大部分都是跟网页在打交道(除了在开发接口的时候,毕竟php是一个脚...

  • PHP学习之路3-创建Laravel工程

    学习PHP是想开发一个APP后台,所以为了打通流程,先开发一个最简单的接口试试。 第一步是安装laravel环境,...

  • PHP学习之路4-Dingo-api

    学习PHP是想开发一个APP后台,所以为了打通流程,先开发一个最简单的接口试试。查了查最常用插件Dingo-api...

  • 如何用PHP简单写App接口:http://www.huangy

    ...如何用PHP简单写App接口:http://www.huangyibiao.com/archives/1353

  • php设置跨域问题

    php设置跨域问题 这段世界使用php写了一些接口来提供给Vue.js 项目学习开发使用,写好的接口只想自己指定的...

  • PHP学习之路

    从零开始,想要能够看懂别人的项目,两个月足够,然而仅限于看得懂。如果想要快速的学习PHP,那么一开始不要看教学方面...

  • 手把手用NodeJs搭建一个简单服务

    前言:最近研究axios做数据交互的时候用php写简单的接口,发现各种问题。所以就看了看node然后搭了一个简单的...

网友评论

      本文标题:PHP学习之路5-一个简单的接口

      本文链接:https://www.haomeiwen.com/subject/uyeyaxtx.html