使用zomato api搜索附近的餐厅

8mmmxcuj  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(281)

我试图搜索附近的餐馆使用zomatoapi和显示到我的应用程序,但我得到空值。zomato api

I am using location details based on coordinates

https://developers.zomato.com/api/v2.1/geocode?lat=21.046900&lon=75.782070
当我调试应用程序时,得到的是空响应。
这是我第一次在我的android应用程序中使用api,我正在使用一个改型。我的目标是得到一个名单附近的餐厅使用我的当前位置,然后显示到我的应用程序。
主要活动

package com.example.zomatoapi;

import androidx.appcompat.app.AppCompatActivity;

    import android.os.Bundle;
    import android.util.Log;
    import android.widget.Toast;

import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.Retrofit.Builder;
import retrofit2.converter.gson.GsonConverterFactory;

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Retrofit retrofit = new Retrofit.Builder().baseUrl(ZomatoApi.baseUrl)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    ZomatoApi zomatoApi = retrofit.create(ZomatoApi.class);

    Call<CurrentCity> listCall = zomatoApi.getCurrentCities();

    listCall.enqueue(new Callback<CurrentCity>() {
        @Override
        public void onResponse(Call<CurrentCity> call, Response<CurrentCity> response) {

            CurrentCity currentCity = response.body();

            List<Object> objects = currentCity.getNearbyRestaurants();

            for (Object object : objects)
            {
                Log.i("Heyy",object.toString());
            }
        }

        @Override
        public void onFailure(Call<CurrentCity> call, Throwable t) {

            Toast.makeText(MainActivity.this, t.getMessage(), Toast.LENGTH_SHORT).show();
        }
    });
    }
}

佐马托皮.zava

package com.example.zomatoapi;

import java.util.List;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Headers;

public interface ZomatoApi {
String baseUrl = "https://developers.zomato.com/api/v2.1/";

@Headers("user-key: 1d63821dbb228ee5d09e8c8f7cfe10c3")
@GET("/api/v2.1/geocode?lat=21.046900&lon=75.782070")
 Call<CurrentCity> getCurrentCities();
}

请帮助我,并为我糟糕的写作技巧道歉

arknldoa

arknldoa1#

您正在附加 "api/v2.1/" 包括基本url和接口中的单个请求。删除 "/api/v2.1/" 从接口@get request。

相关问题