我需要使用Json
在Post
请求中传递Retrofit
。我的Json
看起来像这样:
{
"q": {
"reg": "IND",
"or": [
{
"duration": "12"
}
]
},
"sort": "recent"
}
我使用jsonschema2pojo创建了pojo
以上Json
,与此类似:RoomListing.java
class
现在我需要发出post
个请求。所以我创建了一个API
public interface RoomListingAPI {
@GET("/api/fetch")
void getRoomListing(@Header("x-parse-session-token") String
token, @Body RoomListing list);
}
创建了RestAdapter
类
return new RestAdapter.Builder()
.setEndpoint(BASE_URL)
.build();
RoomListingAPI apiservice = restadapter.providesRestAdapter().create(RoomListingAPI.class);
现在我有点困惑的是发送Json
(请查看RoomListing.java)作为post
请求并收到JSON
作为回应?
任何帮助都会很明显。
答案 0 :(得分:0)
首先,您需要将注释从@GET
更改为@POST
以执行POST
请求。接下来,假设您正在使用Retrofit 1.9.x,您需要执行以下两项操作之一来获取生成的JSON响应,具体取决于您是否需要同步或异步响应:
void
更改为响应的类型,类似于您创建请求对象的方式(例如ResponseType yourMethod(@Body RequestType object);
Callback<ResponseType>
,然后在成功或不成功返回请求时调用(例如{{1 }} 答案 1 :(得分:0)
#include <stdio.h>
void shell_sort (int *a, int n) {
int h, i, j, t;
for (h = n; h /= 2;) {
for (i = h; i < n; i++) {
t = a[i];
for (j = i; j >= h && t < a[j - h]; j -= h) {
a[j] = a[j - h];
}
a[j] = t;
}
}
}
int main (int ac, char **av) {
int a[] = {4, 65, 2, -31, 0, 99, 2, 83, 782, 1};
int n = sizeof a / sizeof a[0];
int i;
for (i = 0; i < n; i++)
printf("%d%s", a[i], i == n - 1 ? "\n" : " ");
shell_sort(a, n);
for (i = 0; i < n; i++)
printf("%d%s", a[i], i == n - 1 ? "\n" : " ");
return 0;
}
我希望你工作,但它应该是这样的。