美文网首页
laravel简易接口开发测试

laravel简易接口开发测试

作者: 积_渐 | 来源:发表于2018-11-14 14:43 被阅读48次

1、找到Routes下的api.php 配置访问路由

<?php

use Illuminate\Http\Request;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});


Route::group(['namespace' => 'Api'], function(){
    Route::any('home/cesi','IndexController@index');
});

2、在Controllers路径下创建Api/IndexController.php 内容如下:

<?php
    namespace App\Http\Controllers\Api;
    use Illuminate\Http\Request;
    use App\Http\Controllers\Controller;
    use Illuminate\Support\Facades\Storage;
    use Illuminate\Support\Facades\Input;

    class IndexController extends Controller
    {
        public function index()
        {
            $a = empty(Input::get('a')) ? '' : Input::get('a');
            $qq = empty(Input::get('qq')) ? '' : Input::get('qq');
            //假设这是数据源,如MySQL
            $data = array();
            $data[123456] = array('qq'=>123456, 'vip'=>5,'level'=>128, 'reg_time'=>1376523234, 'qb'=>300);
            $data[654321] = array('qq'=>654321, 'vip'=>8,'level'=>101, 'reg_time'=>1377123144, 'qb'=>300);
            preg_match('/^[a-zA-Z]+$/', $a) || $this->var_json('非法调用');
            isset($data[$qq]) || $this->var_json('用户不存在', 100001);
            switch ($a) {
                //获取用户基本信息
                case 'info': 
                    //你的更多业务逻辑 ...
                   $this->var_json('success', 0, $data[$qq]);
                    break;
                //获取动态消息
                case 'message':
                   $this->var_json('您正在调用动态消息接口', 0);
                    break;
                //获取好友列表
                case 'friends':
                    $this->var_json('你正在调用好友列表接口', 0);
                    break;
                default:
                    $this->var_json('非法调用');
            }
        }
        public function var_json($info = '', $code = 10000, $data = array(), $location = '') {
            $out['code'] = $code ?: 0;
            $out['info'] = $info ?: ($out['code'] ? 'error' : 'success');
            $out['data'] = $data ?: array();
            $out['location'] = $location;
            header('Content-Type: application/json; charset=utf-8');
            echo json_encode($out);
            exit(0);
        }
    }

3、前台页面代码如下(apirequesttest.php):

<?php 
    header('Content-type:text/html;charset=utf-8');
    $url = "http://localhost/laravel-test/laravel-test/public/api/home/cesi";
    $arg = array(
        'a'  => 'info',
        'qq' => '123456',
    );
    $query_string = http_build_query($arg);
    $ch = curl_init($url.'?'.$query_string);
    curl_setopt($ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_USERAGENT , 'QQ_Mobile_V5.5');
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 60 );
    curl_setopt($ch, CURLOPT_TIMEOUT , 60);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER , true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    $response = curl_exec($ch);
    $httpcode = curl_getinfo($ch , CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($response === false) {
        var_dump(curl_error($ch));
    } else if ($httpcode != 200) {
        var_dump($httpcode, '接口请求失败');
    } else {
        $ret = json_decode($response, true);
        var_dump($ret);
    }

4、浏览器访问地址如下:
http://localhost/apirequesttest.php

5、返回结果如下:

array (size=4)
  'code' => int 0
  'info' => string 'success' (length=7)
  'data' => 
    array (size=5)
      'qq' => int 123456
      'vip' => int 8
      'level' => int 101
      'reg_time' => int 1377123144
      'qb' => int 300
  'location' => string '' (length=0)

相关文章

  • laravel简易接口开发测试

    1、找到Routes下的api.php 配置访问路由 2、在Controllers路径下创建Api/IndexCo...

  • laravel API测试session及cache构造

    使用laravel 开发完api接口后 , 为api编写测试脚本可以大大提高测试效率phpunit vendor/...

  • laravel swagger `TypeError: Fail

    swagger测试laravel接口时,发生错误,提示如下: 这与laravel作为api接口提供方,需要提供跨域...

  • 模拟桩mock

    在前面我们利用django开发了一个简易接口,然后可以测试该接口,可是在实际工作中,考虑到项目时间可能需要在接口还...

  • laravel与fis3开发环境部署

    laravel与fis3开发环境部署 测试环境部署 开发流程 1.laravel安装 方式一:composer安装...

  • postman+newman框架之生成接口测试报告

    做测试的同仁,对于接口测试的都应该了解,接口测试不简单的是在开发时期,开发已写完完备的接口文档进行测试就完事的。 ...

  • laravel ---Artisan 命令行

    Artisan 是 Laravel 的命令行接口的名称,它提供了许多实用的命令来帮助你开发 Laravel 应用,...

  • JMeter(1) 介绍+环境+安装+使用

    开发接口测试案例的整体方案: 分析出测试需求,并拿到开发提供的接口说明文档; 从接口说明文档中整理出接口测试案例(...

  • Jmeter在企业中如何设计场景

    开发接口测试案例的整体方案:1、分析测试需求,并拿到开发提供的接口说明文档;2、从接口说明文档中整理出接口测试案例...

  • VUE项目多环境配置.md

    web项目开发,通常需要有开发环境、测试环境和生产环境,用于配置不同的环境变更,如调用本地接口、测试接口和生产接口...

网友评论

      本文标题:laravel简易接口开发测试

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