gpt4 book ai didi

java - 使用 Zomato API 搜索附近的餐厅

转载 作者:行者123 更新时间:2023-12-01 18:42:33 28 4
gpt4 key购买 nike

我正在尝试使用 zomato API 搜索附近的餐馆并将其显示到我的应用程序中,但我得到了空值。 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,我正在使用改造。我的目标是使用我当前的位置获取附近餐厅的列表,然后将其显示到我的应用程序中。

主要 Activity

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();
}
});
}
}

ZomatoApi.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();
}

请帮助,并对我糟糕的写作技巧表示歉意

最佳答案

您正在附加 "api/v2.1/" 与基本 url 以及界面中的单个请求。从接口(interface) @GET 请求中删除 "/api/v2.1/"

关于java - 使用 Zomato API 搜索附近的餐厅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59895864/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com