Skip to content

Commit c58f6a4

Browse files
committed
add doc
1 parent a174708 commit c58f6a4

File tree

10 files changed

+128
-1567
lines changed

10 files changed

+128
-1567
lines changed

README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,68 @@ class User extends Serialize {
118118
}
119119
}
120120
```
121+
122+
## Auto Create OpenApi Doc
123+
124+
### Creating Request
125+
126+
```php
127+
use Astral\Serialize\Serialize;
128+
129+
class UserAddRequest extends Serialize {
130+
public string $name;
131+
public int $id;
132+
}
133+
134+
class UserDetailRequest extends Serialize {
135+
public int $id;
136+
}
137+
```
138+
139+
### Creating Response
140+
```php
141+
use Astral\Serialize\Serialize;
142+
143+
class UserDto extends Serialize {
144+
public string $name,
145+
public int $id;
146+
}
147+
```
148+
149+
### Creating Controller
150+
```php
151+
use Astral\Serialize\Serialize;
152+
use Astral\Serialize\OpenApi\Enum\MethodEnum;
153+
154+
#[\Astral\Serialize\OpenApi\Annotations\Tag('User Module Management')]
155+
class UserController {
156+
157+
#[\Astral\Serialize\OpenApi\Annotations\Summary('Create User')]
158+
#[\Astral\Serialize\OpenApi\Annotations\Route('/user/create')]
159+
#[\Astral\Serialize\OpenApi\Annotations\RequestBody(UserAddRequest::class)]
160+
#[\Astral\Serialize\OpenApi\Annotations\Response(UserDto::class)]
161+
public function create()
162+
{
163+
return new UserDto();
164+
}
165+
166+
#[\Astral\Serialize\OpenApi\Annotations\Summary('User Detail')]
167+
#[\Astral\Serialize\OpenApi\Annotations\Route(route:'/user/detail', method: MethodEnum::GET)]
168+
public function detail(UserDetailRequest $request): UserDto
169+
{
170+
return new UserDto();
171+
}
172+
}
173+
```
174+
### Starting the Service
175+
176+
#### Docker Deployment
177+
178+
Navigate to the project root directory first:
179+
180+
```shell
181+
docker run -v $PWD/vendor/astral/php-serialize/src/OpenApi/Frankenphp/Caddyfile:/etc/frankenphp/Caddyfile -v $PWD:/app -p 8089:80 dunglas/frankenphp
182+
```
183+
Access `http://127.0.0.1:8089/docs` to view the documentation.
184+
185+
![UI-IMG](./docs/en/openapi/ui.png)

docs/.gitbook.yaml

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)