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'),