rollun-lc / rollun-openapi

BSD 3-Clause "New" or "Revised" License
0 stars 2 forks source link

Все необязательные параметры генерируются с nullable:true #3

Closed misha-rollun closed 3 years ago

misha-rollun commented 4 years ago

Пример манифеста (явно указан nullable:false):

components:
  schemas:
    Tracker:
      type: object
      properties:
        public_url:
          type: string
          format: url
          nullable: false
          description: URL to a publicly-accessible html page that shows tracking details for this tracker

Сгенерированный код (валидация в анотациях nullable=true):

<?php
declare(strict_types=1);

namespace Shipment\OpenAPI\V1\DTO;

use Articus\DataTransfer\Annotation as DTA;

/**
 */
class Tracker
{
    /**
     * URL to a publicly-accessible html page that shows tracking details for this tracker
     * @DTA\Data(field="public_url", nullable=true)
     * @DTA\Validator(name="Type", options={"type":"string"})
     * @var string
     */
    public $public_url;
}
misha-rollun commented 3 years ago

Происходило потому что валидация на null зависела от required свойства (вместо непосредственно nullable свойства). Исправлено https://github.com/rollun-com/rollun-openapi/commit/cbbe2faad402c69963bc05179a586f792c0922b5

misha-rollun commented 3 years ago

https://github.com/rollun-com/rollun-openapi/releases/tag/8.3.0