typescript - Nestjs httpModule URL პარამეტრები ობიექტის სახით
არსებობს თუ არა გზა URL პარამეტრების გადასაცემად httpService-თვის NestJS-ში? ვცდილობ ამ URL-ის დაწერა უფრო სარგებლიანად და არ მინდა Axios-ის გამოყენება, რადგან Nest-ს აქვს HTTPModule.
აქ არის ის, რაც ამჟამად მაქვს და კარგად მუშაობს, მაგრამ ცუდად გამოიყურება:
const response = await this.httpService
.get(`https://api.github.com/users/${username}/repos?per_page=5&sort=created:asc&client_id=${process.env.GITHUB_ID}&client_secret=${process.env.GITHUB_SECRET}`,)
.toPromise();
მე მაქვს ნაპოვნი ეს სინტაქსი Angular-ისთვის, მაგრამ ეს არ მუშაობს:
const response = await this.httpService.get(
`https://api.github.com/users/${username}/repos`,
params: {
per_page: 5,
sort: created:asc,
client_id: process.env.GITHUB_ID,
client_secret: process.env.GITHUB_SECRET
}).toPromise();
უნდა იყოს გზა, რომ ის უკეთესად გამოიყურებოდეს.
პასუხი #1
შენ აკლია ოფციის ობიექტისთვის გახსნისა და დახურვის ფიგურული ბრაკეტები.
const response = await this.httpService.get(
`https://api.github.com/users/${username}/repos`,
{
params: {
per_page: 5,
sort: created:asc,
client_id: process.env.GITHUB_ID,
client_secret: process.env.GITHUB_SECRET
}
}
).toPromise();
ეს გარეშე, მთავარი იდეა არის გამოიყენოთ ვარიაბლი params ტიპის { per_page: 5, sort: created:asc, client_id: process.env.GITHUB_ID, client_secret: process.env.GITHUB_SECRET } (ვვარაუდობ, რომ Typescript-იც უხერხულ მდგომარეობაში იქნება, თუ აქ მნიშვნელობებს ტიპებად გამოიყენებთ)
