我想知道是否有人能告诉我为什么当我尝试使用改版执行RESTfull服务时会出现错误请求错误
翻新接口:
public class RetrofitInterface {
private static StockApiInterface sStockService;
public static StockApiInterface getStockApiClient() {
if (sStockService == null) {
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("http://query.yahooapis.com/v1/public")
.build();
sStockService = restAdapter.create(StockApiInterface.class);
}
return sStockService;
}
public interface StockApiInterface {
@GET("/yql")
void listQuotes(@Query("q") String query,Callback<Stock> stockInfo);
}
}
MainActivity中的Asyntask
public class extraThread extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
RetrofitInterface.getStockApiClient().listQuotes("select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(\"AIB.IR\")%0A%09%09&format=json&diagnostics=true&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=", new Callback<Stock>() {
@Override
public void failure(RetrofitError arg0) {
// TODO Auto-generated method stub
arg0.printStackTrace();
}
@Override
public void success(Stock arg0, Response arg1) {
// TODO Auto-generated method stub
}
});
}
}
结果总是失败。我最初认为问题是因为Reverfit内置的gson转换器在将响应转换为stock对象时遇到了麻烦,因为我只收到了一个“reverfit.retrofiterror”响应。但是“bad request”响应让我认为问题出在API的URL上。下面是我想要的响应URL:
谁能告诉我,我在代码中是否正确地构建了这一点?一个可能的问题是我在查询中转义了我的引文。也许这会造成问题?
以防万一我会张贴我的股票对象。我在一个在线POJO转换器的帮助下编写了这篇文章
public class Stock {
@Expose
private Query query;
public Query getQuery() {
return query;
}
public void setQuery(Query query) {
this.query = query;
}
}
我们将非常感谢在这方面的任何帮助。
您正在尝试使用一个查询字符串参数,而不是多个。这是行不通的,请参考这个问题。另外,不需要对查询内容进行编码,改型会自动进行(见文档):
参数值默认为URL编码。指定EncodeValue=False以更改此行为。
你好,我发送了一个Telegram的Github源代码。但当我试图构建apk时,我得到了两种类型的错误--首先是-External Native build Issues,其中包含以下详细信息- 第二个错误指向文件-c:\users\the\appdata\local\android\sdk\ndk-bundle\build\core\prebuild-library.mk,该文件包含此- pre
我正在开发一个ASP.Net MVC 4应用程序,我使用Azure Blob来存储我的用户将要上传的图像。我有以下代码: 一旦执行if语句,我就会收到以下异常: 我以为这是集装箱的名字,但我看不出有什么问题。连接字符串似乎为blob创建了一个包含所有详细信息的良好存储。我不知所措。我研究过网络,每个人都说这是一个命名问题,但我没有发现任何错误。 我使用的测试容器名称:< code > imagea
当我尝试构建Unity项目(Android)时,它说: 命令调用失败:无法更新SDK。请手动运行SDK管理器以确保您安装了最新的工具集和所需的平台。 以下是我试图修复它的事情: > 将添加到路径中。然后从cmd中,我尝试了,然后键入,但它给了我: 错误:无法找到或加载主类项目\Android原因:java.lang.ClassNotFoundExc的:项目\Android 从Android Stu
我正在尝试在Windows 7上使用Cmake构建OpenCV。我选择使用Visual Studio 10编译器。 我收到以下错误: C:/程序文件 (x86)/CMake 2.8/共享/生成 2.8/模块/CMakeCXX 中的生成错误信息:37 (get_filename_component): get_filename_component调用不正确的参数数调用堆栈(最近的调用优先):CMak