get-countries api + swagger

This commit is contained in:
ilmedova 2022-07-14 16:22:39 +05:00
parent ce87680fae
commit 97e707f38e
3 changed files with 78 additions and 1 deletions

View File

@ -0,0 +1,37 @@
<?php
namespace App\Http\Controllers;
use App\Models\Country;
use Illuminate\Http\Request;
class SprawochnikController extends Controller
{
/**
* @OA\GET(
* path="/api/get-countries",
* summary=" - Get countries list",
* tags = {"Sprawochnik"},
* @OA\Parameter(
* description="Localization",
* in="header",
* name="X-Localization",
* required=false,
* @OA\Schema(type="string"),
* @OA\Examples(example="ru", value="ru", summary="Russian localization"),
* @OA\Examples(example="en", value="en", summary="English localization"),
* @OA\Examples(example="tm", value="tm", summary="Turkmen localization"),
* ),
* @OA\Response(
* response="200",
* description="OK"
* )
* )
*/
public function getCountries(){
$countries = Country::get();
return response()->json([
'data' => $countries
], 200);
}
}

View File

@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\AuthController;
use App\Http\Controllers\SprawochnikController;
use App\Http\Controllers\TestController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
@ -26,7 +27,7 @@
Route::post('/reset-password', [AuthController::class, 'updatePassword']);
Route::post('/forgot-password', [AuthController::class, 'sendPasswordResetLinkEmail']);
Route::post('/verify-email', [AuthController::class, 'verifyEmail']);
Route::get('/users', [TestController::class, 'users']);
Route::get('/get-countries', [SprawochnikController::class, 'getCountries']);
});
Route::middleware(['auth.client','auth:api', 'localization'])->group(function () {

View File

@ -565,6 +565,45 @@
}
]
}
},
"/api/get-countries": {
"get": {
"tags": [
"Sprawochnik"
],
"summary": " - Get countries list",
"operationId": "659eb6cf84f228d274888bfeaff6edbd",
"parameters": [
{
"name": "X-Localization",
"in": "header",
"description": "Localization",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"ru": {
"summary": "Russian localization",
"value": "ru"
},
"en": {
"summary": "English localization",
"value": "en"
},
"tm": {
"summary": "Turkmen localization",
"value": "tm"
}
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
}
},
"components": {