我正在开发一个 Android 应用程序,它利用 Retrofit 进行 api 调用。当我调用以下代码时:
String searchText = query;
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("https://mashape-community-urban-dictionary.p.mashape.com")
.build();
WordsApiService wordsApi = restAdapter.create(WordsApiService.class);
wordsApi.getWordDefinition(query, new Callback<WordsResponse>() {
@Override
public void success(WordsResponse wordsResponse, Response response) {
System.out.println(response.toString());
}
@Override
public void failure(RetrofitError error) {
System.out.println(error.getResponse().getStatus());
}
});
具有以下服务:
public interface WordsApiService {
@Headers({
"X-Mashape-Key : *insert real api key*",
"Accept: text/plain"
})
@GET("/define/")
void getWordDefinition(@Query("word") String word, Callback<WordsResponse> callback);
}
我收到 404 错误(retrofit.RetrofitError:404 Not Found)。
当我进入 mashape 时,我看到服务调用正在执行并命中 api。
我是否遗漏了应用程序配置方面的一些明显内容?
最佳答案
删除 "define" endpoint 中的正斜杠路径。
另外,查询参数是“term”而不是“word”
public interface WordsApiService {
@Headers({
"X-Mashape-Key : *insert real api key*",
"Accept: text/plain"
})
@GET("/define")
void getWordDefinition(@Query("term") String term, Callback<WordsResponse> callback);
}
关于android - 改造.改造错误: 404 Not Found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29761257/