我需要使用Retrofit 2发布JSON对象。我的JSON对象是
{“ logTime”:“”,“ datas”:[{“ dat1”:“ 1”,“ dat2”:“”,“ dat3”:“”,“ dat4”:“”,“
dat5”:“”
} ,{“ dat1”:“ 1”,“ dat2”:“”,“ dat3”:“”,“ dat4”:“”,“ dat5”:“”
}]}
我尝试使用以下代码:
API服务
@FormUrlEncoded
@Headers({
"Content-Type: application/json",
"x-access-token: eyJhbGciOiJIU"
})
@POST("/api/employee/checkin")
Call<String> CHECKIN(@Body String data);
活动课
JSONStringer jsonStringer = null;
try {
jsonStringer=new JSONStringer().object().key("logTime").value("")
.key("datas")
.array()
.object().key("dat1").value("1")
.key("dat2").value("3")
.key("dat3").value("5")
.key("dat4").value("5")
.endObject()
.endArray()
.endObject();
} catch (JSONException e) {
e.printStackTrace();
}
ApiService service = retroClient.getApiService();
Call<String> login = service.CHECKIN(String.valueOf(jsonStringer));
login.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
dialog.dismiss();
try {
String val = response.body();
} catch (Exception e) {
e.getMessage();
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
}
});
使用此代码时出现“错误:找不到翻新注释。(参数#2)”。请帮我。提前致谢。
试试这个代码
api服务
@POST("/api/employee/checkin")
Call<Sample> CHECKIN(@Body JSONStringer data);
API客户端
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
// Request customization: add request headers
Request.Builder requestBuilder = original.newBuilder()
.addHeader("Content-Type", "application/json")
.addHeader("x-access-token", "eyJhbGci");
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
OkHttpClient client = httpClient.build();
return new Retrofit.Builder()
.baseUrl(ROOT_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
活动
ApiService service = retroClient.getApiService();
Call<Sample> call = service.CHECKIN(jsonStringer);
call.enqueue(new Callback<Sample>() {
@Override
public void onResponse(Call<Sample> call, Response<Sample> response) {
dialog.dismiss();
if (response.isSuccessful()) {
Sample result = response.body();
} else {
// response received but request not successful (like 400,401,403 etc)
//Handle errors
}
}
@Override
public void onFailure(Call<Sample> call, Throwable t) {
dialog.dismiss();
Toast.makeText(MainActivity.this, "Network Problem", Toast.LENGTH_LONG).show();
}
});
问题内容: 我以为我知道该怎么做,但显然不知道。我有Flickr的API,它的开始如下: 现在我需要获取的信息来自照片阵列,因此我一直在尝试做的是: 很清楚,我似乎没有抓住重点,但是我不确定如何获取信息。 问题答案: 快速浏览Retrofit的文档说,它使用Gson将JSON转换为Java类。这意味着您需要Java中与JSON相匹配的类层次结构。你的…没有。 返回的JSON是具有单个字段“ pho
问题内容: 我对extJS和json有点陌生。使用extJS来发布json数据的最轻松的方法是什么?我对任何GUI功能都不是很感兴趣,只是使用框架发送一些示例数据。 问题答案:
问题内容: 我使用Ubuntu并在其上安装了cURL。我想用cURL测试我的Spring REST应用程序。我在Java端编写了POST代码。但是,我想用cURL对其进行测试。我正在尝试发布JSON数据。示例数据如下: 我使用以下命令: 它返回此错误: 错误描述是这样的: 服务器拒绝了此请求,因为请求实体的格式不受请求方法()的请求资源支持。 Tomcat日志:“ POST / ui / weba
问题内容: 我想将Json发布到同一服务器上的Web服务。但是我不知道如何使用JQuery发布Json。我已经尝试使用此代码: 但是使用此JQuery代码时,数据不会作为Json在服务器上接收。这是服务器上的预期数据:但是使用JQuery时,服务器receive 。换句话说,它是“ urlencoded”数据,而不是Json。 有什么方法可以使用JQuery以Json格式发布数据,而不是未编码的数
输出为 所以,即使在我自己的服务器上,我也没有得到正确的数据,它是空数组。我想通过http://docs.shopify.com/api/customer#create使用json实现REST
我尝试使用< code >翻新发送音频文件,但是< code>ResponseBody总是为空,状态为< code>500内部服务器错误,我尝试了许多不同的方法,但是没有任何效果 邮递员截图: 身体 标题 我的客户: addAudioComment方法: 请求: