2017 © Pedro PelΓ‘ez
 

library jsonrpc-doc

JsonRpc Doc extension for Laravel

image

tochka-developers/jsonrpc-doc

JsonRpc Doc extension for Laravel

  • Wednesday, July 4, 2018
  • by lexxksb
  • Repository
  • 3 Watchers
  • 0 Stars
  • 14 Installations
  • CSS
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 11 Versions
  • 56 % Grown

The README.md

JSONRPC Doc (Laravel 5.4-5.5, Lumen 5.4-5.5)

ОписаниС

ГСнСрация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для JsonRpc-сСрвСра Π½Π° основС SMD-схСмы. Адаптирован для SMD-схСмы, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Tochka-Developers/JsonRpc вСрсии >1.1.11, (*1)

Установка

Laravel

  1. composer require tochka-developers/jsonrpc-doc
  2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Tochka\JsonRpcDoc\ServiceProvider Π² список сСрвис-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² Π² config/app.php:
'providers' => [
    //...
    \Tochka\JsonRpcDoc\ServiceProvider::class,
],
  1. ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈ рСсурсы:
php artisan vendor:publish --tag=config
php artisan vendor:publish --tag=public
  1. НастройтС Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³ для страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (Π² App\RouteServiceProvider):
protected function mapWebRoutes()
{
    // Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ (Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ SUBDOMAIN Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ):
    // Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³ с ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ½ΠΎΠΌ Π’Π«Π¨Π• Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³Π° основного Π΄ΠΎΠΌΠ΅Π½Π°
    Route::group([
        'domain' => 'SUBDOMAIN.{domain}.{tld}',
        'middleware' => \Tochka\JsonRpcDoc\Middleware\DomainClear::class
    ], function() {
        \Tochka\JsonRpcDoc\ServiceProvider::route();
    });

    // Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСфикс Π² ΠΏΡƒΡ‚ΠΈ: 
    Route::group([
        'prefix' => 'docs'
    ], function() {
        \Tochka\JsonRpcDoc\ServiceProvider::route();
    });

    Route::middleware('web')
         ->namespace($this->namespace)
         ->group(base_path('routes/web.php'));

}

Lumen

  1. composer require tochka-developers/jsonrpc-doc
  2. ЗарСгистрируйтС сСрвис-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Tochka\JsonRpcDoc\ServiceProvider Π² bootstrap/app.php:
$app->register(Tochka\JsonRpcDoc\ServiceProvider::class);
  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° (vendor/tochka-developers/jsonrpc-doc/config/jsonrpcdoc.php) Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (config/jsonrpcdoc.php)
  2. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ рСсурсы ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° (vendor/tochka-developers/jsonrpc-doc/assets/*) Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (public/vendor/jsonrpcdoc/*)
  3. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² bootstrap/app.php:
$app->configure('jsonrpcdoc');
  1. НастройтС Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³ для страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π² bootstrap/app.php:
// Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСфикс Π² ΠΏΡƒΡ‚ΠΈ: 
$app->group([
    'prefix' => 'docs',
], function() {
    \Tochka\JsonRpcDoc\ServiceProvider::route();
});

// Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ (Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ SUBDOMAIN Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ):
$app->routeMiddleware([
    'subdomain' => \Tochka\JsonRpcDoc\Middleware\SubDomain::class,
]);

$app->group([
    'middleware' => 'subdomain:SUBDOMAIN',
], function() {
    \Tochka\JsonRpcDoc\ServiceProvider::route();
});

Настройка

ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ jsonrpcdoc. ΠŸΠ°ΠΊΠ΅Ρ‚ позволяСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ сразу для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… JsonRpc-сСрвСров. ВсС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСрвСра Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ пСрСчислСны Π² спискС connections ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°., (*2)

Имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ соСдинСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ прописано Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ default. Если этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Ρ‚ΠΎ Π² качСствС соСдинСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ использовано ΠΏΠ΅Ρ€Π²ΠΎΠ΅ соСдинСниС Π² спискС., (*3)

Для использования Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ свою Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π°. Для этого Π² Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° \Tochka\JsonRpcDoc\ServiceProvider::route($serviceName) Π² качСствС $serviceName Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ соСдинСния. Если имя Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ - Π±ΡƒΠ΄Π΅Ρ‚ использовано соСдинСниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ., (*4)

Если ΠΏΠ°ΠΊΠ΅Ρ‚ tochka-developers/jsonrpc-doc ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вмСстС с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ tochka-developers/jsonrpc, Ρ‚ΠΎ Π² качСствС url Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС адрСс Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° JsonRpc-сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ взят ΠΈΠ· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° jsonrpc. Π‘Ρ‚ΠΎΠΈΡ‚ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС использования автоматичСского Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³Π° (Бсылка Π½Π° Ρ€Π°Π·Π΄Π΅Π» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ). Π’Π°ΠΊΠΆΠ΅, Π² случаС использования Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ…ΠΎΠ΄Π° - Π±ΡƒΠ΄Π΅Ρ‚ использована Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пСрвая Π² спискС., (*5)

Данная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Laravel. К соТалСнию, Lumen Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ автоматичСскоС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ хоста ΠΏΡ€ΠΈ запускС ΠΈΠ· консоли. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ $_SERVER['SERVER_NAME'] ΠΈ $_SERVER['SERVER_PORT'] Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ имя хоста Π² .env:, (*6)

APP_URL=http://example.org

Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ обСспСчиваСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… настроСк Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв. Если ΠΆΠ΅ Π²Ρ‹ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΈΠΏΠ° [ERROR] The host did not return the SMD-scheme. Generating a client is not possible., Ρ‚ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ JsonRpc-сСрвСру Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ url., (*7)

ПослС настройки соСдинСний Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сСрвСрС (SMD-схСму). Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ artisan:, (*8)

php artisan jsonrpc:generateDocumentation

Если Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ сообщСниС [OK] Saving SMD for connection "api" successfull., Π·Π½Π°Ρ‡ΠΈΡ‚ всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ послС этого Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ сохраняСт схСму локально ΠΈ послС этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ страниц Π΅Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для обновлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ снова Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ jsonrpc:generateDocumentation., (*9)

The Versions

04/07 2018

dev-master

9999999-dev

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

04/07 2018

v1.0.8

1.0.8.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

01/07 2018

dev-links

dev-links

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

04/05 2018

v1.0.7

1.0.7.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

13/04 2018

v1.0.6

1.0.6.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

28/02 2018

v1.0.5

1.0.5.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

22/02 2018

v1.0.4

1.0.4.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

22/02 2018

v1.0.3

1.0.3.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

22/02 2018

v1.0.2

1.0.2.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

29/01 2018

v1.0.1

1.0.1.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin

29/01 2018

v1.0.0

1.0.0.0

JsonRpc Doc extension for Laravel

  Sources   Download

MIT

The Requires

 

by Pavel Babushkin