PHP code example of codeasashu / openapi-validator
1. Go to this page and download the library: Download codeasashu/openapi-validator 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/ */
codeasashu / openapi-validator example snippets
declare(strict_types=1);
namespace AppBundle\Controller;
use GOG\Common\OAuthSecurityBundle\Controller\OAuthController;
use Symfony\Component\HttpFoundation\JsonResponse;
class CardsController extends OAuthController
{
public function getCardsAction()
{
return new JsonResponse(
[
[
'id' => '123123',
'name' => 'Geralt',
'power' => 10,
],
[
'id' => '45653',
'name' => 'Vernon Roche',
'power' => 10,
]
]
);
}
}
declare(strict_types=1);
namespace AppBundle\Tests\Controller;
use Mmal\OpenapiValidator\Validator;
use Symfony\Component\Yaml\Yaml;
class CardsControllerTest extends BaseControllerTest
{
const SPEC_PATH = __DIR__.'/../../../../docs/api.yml';
/** @var Validator */
static $openaApiValidator;
static public function setUpBeforeClass()
{
parent::setUpBeforeClass();
self::$openaApiValidator = new Validator(Yaml::parse(self::SPEC_PATH));
}
public function testGetCards()
{
$this->makeRequest('GET', '/cards');
}
protected function makeRequest($method, $uri, $content = '')
{
$client = $this->getTestClient();
$client->request(
$method,
$uri
);
$response = $client->getResponse();
$result = self::$openaApiValidator->validateBasedOnRequest(
$uri,
$method,
$response->getStatusCode(),
json_decode($response->getContent(), true)
);
self::assertFalse($result->hasErrors(), $result);
return RESTResponse::fromHTTPResponse($response);
}
}