# Request Bodies

Generate a request body with this command:

php artisan openapi:make-requestbody StoreUser

You can refer to a schema by implementing use Vyuldashev\LaravelOpenApi\Contracts\Reusable on the schema and adding it to the request body like so:

class UserCreateRequestBody extends RequestBodyFactory
    public function build(): RequestBody
        return RequestBody::create('UserCreate')
            ->description('User data')

Use a request body in your controller like this:

use Vyuldashev\LaravelOpenApi\Attributes as OpenApi;

class UserController extends Controller
     * Create a user.
    #[OpenApi\Operation(tags: ['user'])]
    #[OpenApi\RequestBody(factory: UserCreateRequestBody::class)]
    public function store(Request $request)