php swagger OAT\Schema property 정리

Updated on

목차:

아 ~~ 내가 이거를 몇번이나 몇번이나, 까먹고 또 까먹고 해서… 차라리 블로그에 적어놓고, 검색하는게 더 빠르겠다 싶어서, 작성한다.

Swagger OAT\Schema Property 리스트

Request 작성 (#[OAT\Property])

type array 이고, Laravel Data 값 넣을 경우

#[OAT\Property(property: 'productOptions', type: 'array', items: new OAT\Items(ref: '#/components/schemas/OptionData', type: 'object'))]

type array 이고, 값 설정 안할 경우

#[OAT\Property(property: 'features', type: 'array', items: new OAT\Items())]

type array 이고, Enum 값 넣을 경우

#[OAT\Property(property: 'meta', type: 'array', items: new OAT\Items(ref: '#/components/schemas/MetaEnum'))]

type object 이고, Laravel Data 값 넣을 경우

#[OAT\Property(property: 'link', ref: '#/components/schemas/LinkData', type: 'object')]

type enum 이고, 단일 선택 사용할 경우

#[OAT\Property(property: 'state', ref: '#/components/schemas/State', type: 'enum')]

type date-time 하는 경우

#[OAT\Property(property: 'start_at', type: 'string', format: 'date-time')]

Controller 작성

array resource 일 경우

new OAT\Property(property: 'data', type: 'array', items: new OAT\Items(ref: '#/components/schemas/UserResource')),

response 에서 data 에 object 로 넣어야 하는 경우

new OAT\Property(property: 'data', ref: '#/components/schemas/GroupResource', type: 'object'),