forked from zircote/swagger-php
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOpenApiSpec.php
117 lines (111 loc) · 2.82 KB
/
OpenApiSpec.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
namespace OpenApi\Examples\ExampleObject;
use OpenApi\Annotations as OA;
/**
* @OA\Tag(
* name="user",
* description="User related operations"
* )
* @OA\Info(
* version="1.0",
* title="Example for response examples value",
* description="Example info",
* @OA\Contact(name="Swagger API Team")
* )
* @OA\Server(
* url="https://example.localhost",
* description="API server"
* )
*/
class OpenApiSpec
{
}
/**
* @OA\Put(
* path="/users/{id}",
* summary="Updates a user",
* description="Updates a user",
* operationId="updateUser",
* tags={"user"},
* @OA\Parameter(
* description="Parameter with mutliple examples",
* in="path",
* name="id",
* required=true,
* @OA\Schema(type="string"),
* @OA\Examples(example="int", value="1", summary="An int value."),
* @OA\Examples(example="uuid", value="0006faf6-7a61-426c-9034-579f2cfcfa83", summary="An UUID value."),
* ),
* @OA\Response(
* response=200,
* description="OK"
* )
* )
*/
class UserUpdateEndpoint
{
}
/**
* @OA\Post(
* path="/users",
* summary="Adds a new user - with oneOf examples",
* description="Adds a new user",
* operationId="addUser",
* tags={"user"},
* @OA\RequestBody(
* @OA\MediaType(
* mediaType="application/json",
* @OA\Schema(
* @OA\Property(
* property="id",
* type="string"
* ),
* @OA\Property(
* property="name",
* type="string"
* ),
* @OA\Property(
* property="phone",
* oneOf={
* @OA\Schema(type="string"),
* @OA\Schema(type="integer"),
* }
* ),
* example={"id": "a3fb6", "name": "Jessica Smith", "phone": 12345678}
* )
* )
* ),
* @OA\Response(
* response=200,
* description="OK",
* @OA\JsonContent(
* oneOf={
* @OA\Schema(ref="#/components/schemas/Result"),
* @OA\Schema(type="boolean")
* },
* @OA\Examples(example="result", value={"success": true}, summary="An result object."),
* @OA\Examples(example="bool", value=false, summary="A boolean value."),
* )
* )
* )
*/
class UserAddEndpoint
{
}
/**
* @OA\Schema(
* schema="Result",
* title="Sample schema for using references",
* @OA\Property(
* property="status",
* type="string"
* ),
* @OA\Property(
* property="error",
* type="string"
* )
* )
*/
class ResultSchema
{
}