File tree Expand file tree Collapse file tree 2 files changed +46
-0
lines changed
Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Original file line number Diff line number Diff line change 1111use Tempest \Router \Get ;
1212use Tempest \Router \Post ;
1313use Tests \Tempest \Fixtures \Modules \Books \Models \Book ;
14+ use Tests \Tempest \Fixtures \Requests \BookRequest ;
1415
1516use function Tempest \uri ;
1617
@@ -42,4 +43,23 @@ public function book(Book $book): Response
4243 ],
4344 ]);
4445 }
46+
47+ #[Post(uri: '/test-validation-responses-json/{book} ' )]
48+ public function updateBook (BookRequest $ request , Book $ book ): Response
49+ {
50+ $ book ->load ('author ' );
51+
52+ $ book ->update (title: $ request ->get ('title ' ));
53+
54+ return new Json ([
55+ 'id ' => $ book ->id ->id ,
56+ 'title ' => $ book ->title ,
57+ 'author ' => [
58+ 'id ' => $ book ->author ->id ->id ,
59+ 'name ' => $ book ->author ->name ,
60+ ],
61+ 'chapters ' => $ book ->chapters ,
62+ 'isbn ' => $ book ->isbn ,
63+ ]);
64+ }
4565}
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace Tests \Tempest \Fixtures \Requests ;
6+
7+ use Tempest \Http \IsRequest ;
8+ use Tempest \Http \Request ;
9+ use Tempest \Validation \Rules \Length ;
10+ use Tests \Tempest \Fixtures \Modules \Books \Models \Author ;
11+ use Tests \Tempest \Fixtures \Modules \Books \Models \Isbn ;
12+
13+ final class BookRequest implements Request
14+ {
15+ use IsRequest;
16+
17+ #[Length(min: 1 , max: 120 )]
18+ public string $ title ;
19+
20+ public ?Author $ author = null ;
21+
22+ /** @var \Tests\Tempest\Fixtures\Modules\Books\Models\Chapter[] */
23+ public array $ chapters = [];
24+
25+ public ?Isbn $ isbn = null ;
26+ }
You can’t perform that action at this time.
0 commit comments