Как передать 2 параметра в запрос GET с помощью модификации?

Обычный запрос GET не имеет аргументов, верно? Он просто получает все данные. Дело в том, что мне нужно получить Салоны, которые находятся ближе к заданной точке координат (широта/долгота), и поэтому мне нужно передать 2 параметра в запрос GET ( express js ).

Я использую УЗЕЛ JS, ЭКСПРЕСС JS, МОНГО БД. Во внешнем интерфейсе я использую Android-студия и кодирую КОТЛИН.

Следующий код представляет собой интерфейс (frontend/kotlin):

    @GET("/salao")
    fun getAllSaloes(@Query("lat") lat: Float,
                     @Query("lon") lon: Float): Call<salaoList>

и следующий код является кодом бэкэнда (экспресс 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.info("Getting the closer salons...");
          res.send({saloes})
      },(e) => {
          res.status(400).send(e);
      });
    });

Один важный момент: если я не передаю никаких параметров, а выполняю только обычный запрос и использую жестко закодированные lat-lng (например: -44.41241, -22.412412), он работает.

Проблема заключается в передаче 2 параметров.

Как я могу это решить?

Спасибо!

В Android (Java/Kotlin) вы передаете данные непосредственно методу метода getAllSaloes(-44.41241, -22.412412). Или я не понимаю проблему/вопрос.

Boken 11.03.2019 11:12

Обычный запрос GET не имеет аргументов, верно? Он просто получает все данные. Дело в том, что мне нужно получить салоны, которые находятся ближе к заданной точке координат (широта/долгота), и поэтому мне нужно передать 2 параметра в запрос GET (express js).

Zowye 11.03.2019 11:19
1
2
281
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

вы должны отправить данные по пути следующим образом:

 @GET("/salao/{lat}/{lng}")
Call<Response> getAllSaloes(@Path("lat") Long lat, @Path("lng") Long lng);

Это отправит данные в виде /salao/123.21/2323.

Сработало... спасибо

Zowye 11.03.2019 14:53

Другие вопросы по теме