PHP code example of listen / restapi

1. Go to this page and download the library: Download listen/restapi library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

listen / restapi example snippets


return [
    'request_timeout' => 5,
  
    'connect_timeout' => 5,
    
    'secret'          => '',
    
    'concurrency'     => 5,
    
    'log_file'        => storage_path('logs/restapi.log'),
    
    'log_channel'     => 'restapi',
    
    'log_mode'        => 'single',

    '<MODULE-NAME>' => [
        'secret'   => env('RESTAPI_<MODULE-NAME>_KEY', ''),
        'base_uri' => env('RESTAPI_<MODULE-NAME>_URL', 'http://local.application.com'),
    ],
];

# GET
Restapi::get($moduleName, $uri, $params, $headers);

# POST
Restapi::post($moduleName, $uri, $params, $headers);

# GETASYNC
Restapi::getAsync($moduleName, $uri, ['name' => 'listen'], function ($response, $module, $params, $uri) {
    dd($response);
}, function ($e, $module, $params, $uri) {
    dd($e->getMessage());
});

# POSTASYNC
Restapi::postAsync($moduleName, $uri, ['name' => 'listen'], function ($response, $module, $params, $uri) {
    dd($response);
}, function ($e, $module, $params, $uri) {
    dd($e->getMessage());
});
        

# An interface is requested multiple times
$params = [
    [
        'user_id' => 1,
        'user_name' => 'new name'
    ],
    [
        'user_id' => 2,
        'user_name' => 'new name2'
    ]
];

$responses = \Restapi::multiRequest('post', 'http://test.local/user', $params, ['Content-Type' => 'application/x-www-form-urlencoded']);
dd($responses);

# Multiple interfaces are requested concurrently
$apis = [
    [
        'module' => 'user',
        'method' => 'postAsync',
        'params' => ['key' => 'value'],
        'uri'    => 'http://test.local/user'
    ],
    [
        'module' => 'book',
        'method' => 'postAsync',
        'params' => ['key' => 'value'],
        'uri'    => 'http://test.local/book'
    ],
];
$result = \Restapi::multiModuleRequest($apis);
dd($result);
sh
php artisan vendor:publish --provider='Listen\Restapi\RestapiServiceProvider'

# The config file restapi.php while in config drictory