Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PHP] Class "" not found #12449

Open
Lexian-droid opened this issue Aug 14, 2024 · 0 comments
Open

[PHP] Class "" not found #12449

Lexian-droid opened this issue Aug 14, 2024 · 0 comments

Comments

@Lexian-droid
Copy link

Lexian-droid commented Aug 14, 2024

Description

I generated a PHP API Client for the Azuracast API, and it works well, but some endpoints give the error message "Class "" not found" when I try to use the API via the client, some classes work without issue, but for example, StationsSongRequestsApi > getRequestableSongsWithHttpInfo where it will respond with the error message above. I need it as I can't really utilize the API without it, and I'm not sure what the issue is. I've tried to regenerate the client multiple times, but the issue persists. I'm not sure if it's an issue with the swagger file or the codegen itself.

Also, here is the actual project.

Swagger-codegen version

3.0.61

Swagger declaration file content or url

https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/web/static/openapi.yml

Command line used for generation

java -jar swagger-codegen-cli.jar generate -i https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/web/static/openapi.yml -l php -o output/azuracast-php-client3 -c ./config.json

Steps to reproduce
  • Install the package via composer
  • In a new PHP file, require the autoload.php file
  • Create a new instance of the client
  • Call the method getRequestableSongs from the StationsSongRequestsApi class
require_once __DIR__ . '/vendor/autoload.php';

use AzuraCast\Api\StationsSongRequestsApi;
use AzuraCast\Configuration;
use AzuraCast\ApiClient;

$config = Configuration::getDefaultConfiguration();

$apiInstance = new StationsSongRequestsApi(new ApiClient($config));

try {
    $result = $apiInstance->getRequestableSongs();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling StationsSongRequestsApi->getRequestableSongs: ', $e->getMessage(), PHP_EOL;
}

also here is the config:

{
  "invokerPackage": "AzuraCast",
  "apiPackage": "Client\\Api",
  "modelPackage": "Client\\Model",
  "packagePath": "Azuracast",
  "srcBasePath": "src",
  "gitUserId": "Lexian-droid",
  "gitRepoId": "azuracast-php-client",
  "artifactVersion": "1.0.2",
  "hideGenerationTimestamp": true
}
Related issues/PRs

#8380
This is the closest issue I could find, but it's not the same issue. (The issue states it returns "Null" but my issue returns an empty string.)

Suggest a fix/enhancement

Not sure what the issue is, but I think it might be an issue with the codegen itself, as the classes are generated, but some of them are not found when trying to use them. I've followed the documentation and the examples provided, but I'm not sure what the issue is.

The error is from: azuracast-php-client\src\ObjectSerializer.php
on line 298, specifically with

// If a discriminator is defined and points to a valid subclass, use it.
$discriminator = $class::DISCRIMINATOR;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant