Routing i NestJS is bunaithe ar dhraíochta: déanann tú mapáil ar chosáin URL agus ar mhodhanna HTTP ar mhodhanna rialóra ag úsáid draíochtaí. Tagann an réimír leoraithe ó @Controller() agus an cosán sonrach + an briathar HTTP ó dhraíochtaí modhanna cosúil le @Get() — comhcheangailte chun an leoraithe iomlán a fhoirmiú.
Conas a dhéantar leoraithe a dhréachtú
@Controller("users") // PREFIX: all routes start with /users
export class UsersController {
@Get() // GET /users
findAll() {}
@Get("active") // GET /users/active
findActive() {}
@Get(":id") // GET /users/:id (dynamic parameter)
findOne(@Param("id") id: string) {}
@Post() // POST /users
create(@Body() dto: CreateUserDto) {}
@Put(":id") // PUT /users/:id
update(@Param("id") id: string, @Body() dto: UpdateUserDto) {}
@Delete(":id") // DELETE /users/:id
remove(@Param("id") id: string) {}
}
Comhcheangail an réimír rialóra + cosán an dhraíochta modhanna: @Get(":id") taobh istigh de @Controller("users") → GET /users/:id. Tá a dhraíochta féin ag gach briathar HTTP (@Get, @Post, @Put, @Patch, @Delete).
Paraiméadair leoraithe agus teaghráin fhiafraighí
@Get(":id")
example(
@Param("id") id: string, // path param: /users/123 → id = "123"
@Query("sort") sort: string, // query: /users?sort=name → sort = "name"
@Query() allQuery: any, // the whole query object
) {}
Leoraithe foluain/fabhracha agus fo-chosáin
@Controller("users")
export class UsersController {
@Get(":id/posts") // GET /users/:id/posts (nested resource)
getUserPosts(@Param("id") id: string) {}
@Get("search/*") // wildcard matching
search() {}
}
Tá ordú na leoraithe tábhachtach
@Get("active") // ✅ specific route FIRST
findActive() {}
@Get(":id") // dynamic route AFTER — else "active" would match :id
findOne() {}
Ba chóir leoraithe sonracha (statach) a dhearbhú roimh leoraithe dinimiciúla (:param), nó d'fhéadfadh an leoraithe dinimiciúil iad a thógáil.
Réimír domhanda agus leagan
app.setGlobalPrefix("api/v1"); // all routes become /api/v1/...
// NestJS also supports API versioning (URI, header, media-type based)
Baineann réimír domhanda (m.sh. /api/v1) le gach leoraithe — coiteann do choinbhinsiúin API.
Cén fáth a bhfuil sé tábhachtach
Tá an crúbadh bunúsach — sainmhíníonn sé struchtúr URL do API agus ar an dóigh seo a shroicheann gach iarratas an fhreagróir ceart.
An crúbadh bunaithe ar dhraíochtaí NestJS a thuiscint (an réimír @Controller comhcheangailte le draíochtaí modhanna @Get/@Post/srl. chun leoraithe iomlán a fhoirmiú, agus @Param/@Query chun sonraí a bhaint amach) is eolas riachtanach gach lá ann — ar an dóigh seo a dhéanann tú gach críochphointe, agus coimeádann an stíl dearbhóireachta an crúbadh geal agus inléite i gcomparáid le clárúchán route láimhe.
An méid sonraithí praiticiúla a bheith ar eolas agat — réimíreacha agus cosáin a chur le chéile, paraiméadair leoraithe agus teaghráin fhiafraighí a láimhseáil, leoraithe acmhainní foluain, an tábhacht a bheith ann de ordú na leoraithe (statach roimh dhinimicc), agus réimíreacha domhanda/leagan do choinbhinsiúin API — is gá do API REST structúrtha a thógáil i NestJS.
Crúbadh, rialóirí, agus na draíochtaí paraiméadair araon an bunús láimhseála iarratas an creata, rud a dhéanann an ábhar bunúsach, ba-bhreith don fhorbróir NestJS ar bith.
