This repository was archived by the owner on Jun 4, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 22
This repository was archived by the owner on Jun 4, 2024. It is now read-only.
Enum as component/schemas #6
Copy link
Copy link
Closed
Description
Here a small Example
openapi: "3.0.0"
info:
version: 1.0.0
title: Swagger Petstore
license:
name: MIT
servers:
- url: http://petstore.swagger.io/v1
paths:
/pets:
get:
summary: List all pets
operationId: listPets
tags:
- pets
parameters:
- name: limit
in: query
description: How many items to return at one time (max 100)
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A paged array of pets
headers:
x-next:
description: A link to the next page of responses
schema:
type: string
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
post:
summary: Create a pet
operationId: createPets
tags:
- pets
responses:
'201':
description: Null response
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/pets/{petId}:
get:
summary: Info for a specific pet
operationId: showPetById
tags:
- pets
parameters:
- name: petId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: string
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
$ref: "#/components/schemas/Pet"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
Pet:
type: object
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
color:
$ref: "#/components/schemas/Color"
Color:
type: string
enum:
- red
- blue
- yellow
Pets:
type: array
items:
$ref: "#/components/schemas/Pet"
Error:
type: object
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string
common/models/Pet:
<?php
namespace common\models;
/**
*
*
* @property int $id
* @property string $name
* @property string $tag
* @property Color $color
*/
class Pet extends \yii\db\ActiveRecord
{
public static function tableName()
{
return '{{%pets}}';
}
public function rules()
{
return [
[['name', 'tag'], 'trim'],
[['id', 'name'], 'required'],
[['name', 'tag'], 'string'],
// TODO define more concreate validation rules!
[['id','color'], 'safe'],
];
}
public function getColor()
{
return $this->hasOne(Color::class, ['id' => 'color_id']);
}
}
The Color Model is missing ;)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working