Сложный объект, не отображающий внутренние классы в схемеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сложный объект, не отображающий внутренние классы в схеме

Сообщение Anonymous »

Я использую внешний wsdl, используя wsdltophp. Это создает большую структуру классов, которую я хотел бы сделать доступной для использования моим API через SwaggerUI.
Вот как я аннотирую свою точку входа в API. :

Код: Выделить всё

     /**
* @OA\Post(
*     path="/vf/alta/{registroFacturacionType}/{datosControlType}",
*     operationId="vfAlta",
*     description="",
*     tags={"vf"},
*     security={{"bearerAuth":{}}},
*     @OA\Parameter(
*          name="registroFacturacionType",
*          in="path",
*          required=true,
*          description="",
*          @OA\Schema(ref="#/components/schemas/RegistroFacturacionType")
*     ),
*     @OA\Parameter(
*          name="datosControlType",
*          in="path",
*          required=true,
*          description="",
*          @OA\Schema(ref="#/components/schemas/DatosControlType")
*     ),
*     @OA\Response(
*         response=200,
*         description="",
*         @OA\Schema(ref="RespuestaAltaFactuSistemaFacturacionType")
*     )
* )
*/
Сгенерированная точка входа Swagger теперь выглядит так:
Изображение

Где все внутренние классы моего основного класса представлены строками. Если мы просто посмотрим на первое свойство (IDFactura), это код, сгенерированный wsdltophp

Код: Выделить всё

     /**
* The IDFactura
* @var \App\Application\ServiceReferences\Verifactu\StructType\IDFacturaExpedidaType|null
* @OA\Property()
*/
protected ?\App\Application\ServiceReferences\Verifactu\StructType\IDFacturaExpedidaType $IDFactura = null;
(@OA\Schema также генерируется с помощью wsdltophp) Но ясно, что мой SwaggerUI представляет этот внутренний класс как простую строку.
Поскольку этот WSDL является внешним, и я не могу контролировать ни его, ни код, сгенерированный wsdltophp, я ищу решение, которое позволило бы избежать обновления/изменения этих внешних классов< /п>

Подробнее здесь: https://stackoverflow.com/questions/791 ... s-in-shema
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»