Tipos Problem Details
O NENE2 retorna application/problem+json para todas as respostas de erro, seguindo o RFC 9457.
Catálogo de tipos
type | Status HTTP | title | Produzido por |
|---|---|---|---|
…/not-found | 404 | Not Found | Rota não encontrada; Note ou Tag com id não encontrado |
…/method-not-allowed | 405 | Method Not Allowed | Método HTTP incorreto para uma rota conhecida |
…/invalid-json | 400 | Invalid JSON | Corpo de requisição vazio, JSON inválido ou JSON não-objeto |
…/validation-failed | 422 | Validation Failed | Corpo de requisição inválido ou campos obrigatórios ausentes |
…/unauthorized | 401 | Unauthorized | Token Bearer ausente ou inválido |
…/too-many-requests | 429 | Too Many Requests | Limite de taxa excedido (ThrottleMiddleware); cabeçalho Retry-After incluído |
…/payload-too-large | 413 | Payload Too Large | Corpo da requisição excede o limite configurado |
…/internal-server-error | 500 | Internal Server Error | Exceção não tratada |
Prefixo URI base: https://nene2.dev/problems/
Adicionando um tipo personalizado
- Crie uma classe de exceção de domínio (ex.:
ProductNotFoundException). - Implemente
DomainExceptionHandlerInterfacechamandoProblemDetailsResponseFactory::create(). - Registre o handler em
RuntimeServiceProvider.
Veja NoteNotFoundExceptionHandler e TagNotFoundExceptionHandler como exemplos concretos.