我正在为我们的应用程序开发一个新的RESTful Web服务.
在某些实体上执行GET时,客户端可以请求实体的内容.如果他们想要添加一些参数(例如排序列表),他们可以在查询字符串中添加这些参数.
或者,我希望人们能够在请求正文中指定这些参数. HTTP/1.1似乎没有明确禁止这一点.这将允许他们指定更多信息,可以更容易指定复杂的XML请求.
我的问题:
我想从我的API REST获取原始http响应.我试过这个界面:
@POST("/login")
@FormUrlEncoded
Call<retrofit.Response> login(@Field("username") String login, @Field("password") String pass,
@Field("appName") String appName, @Field("appKey") String appKey);
Run Code Online (Sandbox Code Playgroud)
但我得到:
java.lang.IllegalArgumentException:无法为方法Api.login的retrofit.Call创建调用适配器
我这样创造Retrofit:
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
retrofitBuilder.addConverterFactory(JacksonConverterFactory.create());
Retrofit retrofitAdapter = retrofitBuilder.baseUrl(baseUrl).build();
return retrofitAdapter.create(apiClass);
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Android应用程序并使用改造来发送请求并获得响应.像这样:
public interface Service {
@POST("/GetInfo")
InfoResponse getInfo(@Body InfoRequest request);
}
Run Code Online (Sandbox Code Playgroud)
我想知道在执行这些请求时将使用多少数据.
我发现如果我设置LogLevel进行改造,它可以打印出日志中的大小.
要求:
Run Code Online (Sandbox Code Playgroud)---> HTTP POST http://.... Content-Type: application/json; charset=UTF-8 Content-Length: 516 ---> END HTTP (522-byte body)
对于回复:
Run Code Online (Sandbox Code Playgroud)<--- HTTP 200 http://.... :HTTP/1.1 200 OK Content-Type: application/json <--- END HTTP (420394-byte body)
这个522字节和420394字节的信息是我想要的.有没有办法直接获取它而不获取日志并解析它?
如果我必须使用这个日志来计算大小,有什么好办法从日志中获取大小然后在android上显示?
谢谢!