@tc-libs/response
v3.9.0
Published
Layer di risposta HTTP uniforme per il monorepo.
Downloads
232
Readme
@tc-libs/response
Layer di risposta HTTP uniforme per il monorepo.
Fornisce:
ResponseModule- decorator
Response()eResponsePaging() - interceptor per wrapping standard delle risposte
- serializzazioni Swagger-friendly
Come si usa
Risposta standard
@Get(':id')
@Response('user.get', {
serialization: UserGetSerialization,
})
async getOne() {
return {
data: user,
};
}Risposta paginata
@Get()
@ResponsePaging('user.list', {
serialization: UserListSerialization,
})
async list() {
return {
_pagination: { total: 100, totalPages: 5 },
data: rows,
};
}Cosa fanno gli interceptor
ResponseDefaultInterceptor e ResponsePagingInterceptor:
- leggono
messagePathe serializzazione dai metadata del decorator - serializzano
dataconplainToInstance - costruiscono
_metadatacon request id, version, timezone, lingue, repoVersion - nel caso paginato aggiungono metadata pagination e link cursor
- risolvono il messaggio tramite
MessageService
Shape attesa del return
Standard:
{ data }Paginato:
{
_pagination: { total, totalPages },
data
}E' supportato anche _metadata.customProperty per override di statusCode, message e messageProperties.
Export utili
ResponseResponsePagingResponseSerializationOptionsResponseDefaultSerializationResponsePagingSerialization
Sviluppo
nx build response
nx test response