Нормальный запрос GET
не имеет аргументов, верно?Он просто получает все данные.Дело в том, что мне нужно выбрать Салоны, которые находятся ближе к заданной координатной точке (широта / долгота), и поэтому мне нужно передать 2 параметра в запрос GET
(express js
).
Я использую NODE JS , EXPRESS JS , MONGO DB .Во внешнем интерфейсе я использую Android Studio и кодирую с помощью KOTLIN .
Следующий код является интерфейсом (frontend / kotlin):
@GET("/salao")
fun getAllSaloes(@Query("lat") lat: Float,
@Query("lon") lon: Float): Call<salaoList>
, а следующий код является кодом бэкэнда (Express JS):
app.get('/salao/:lat/:lon', (req,res) => {
var lat = req.params.lat;
var lon = req.params.lon;
Salao.find({
"loc": {
$near: {
$geometry: {
type: "Point",
coordinates: [ lat, lon ] // Latitude - Longitude
},
}
}
}).then((saloes) => {
console.log("Getting the closer salons...");
res.send({saloes})
},(e) => {
res.status(400).send(e);
});
});
Один важный момент: если я не передаю какой-либо параметр и только делаю обычный запрос и использую жестко закодированный lat-lng (например, -44.41241, -22.412412), это работает.
Проблема в передаче двух параметров.
Как я могу ее решить?
Спасибо!