Overview

Litestar 2.11, released on August 27, 2024, adds PyJWT support and the forbid_unknown option for DTOs.

Main Features

PyJWT and DTO forbid_unknown

The PyJWT integration simplifies JWT authentication. The forbid_unknown_fields option on DTOs rejects undeclared fields in requests.

python
from litestar import Litestar, post
from litestar.dto import DTOConfig, DataclassDTO
from dataclasses import dataclass

@dataclass
class UserCreate:
    name: str
    email: str

class UserDTO(DataclassDTO[UserCreate]):
    config = DTOConfig(forbid_unknown_fields=True)

@post('/users', dto=UserDTO)
async def create_user(data: UserCreate) -> UserCreate:
    return data

Sources