我有一个webService,可以读取并返回List >>结果。
此对象包含一系列值,我通过Retrofit2在执行GET时收到了这些值。 我修改了我收到的对象>> List的一些数据,将其视为ArrayList 列表>>>标题=新的ArrayList >>>();
到目前为止,一切都很完美,我的问题是我无法使用修改后的对象进行POST,并将其发送到我的webService。
我有一个称为POST的类,我在其中接收对象并进行获取和设置
帖子课
public class Post {
@SerializedName("result")
@Expose
private List<List<List<Object>>> result = null;
public List<List<List<Object>>> getResult() {
return result;
}
public void setResult(List<List<List<Object>>> result) {
this.result = result;
}
}
另一方面,我有PostService类,该类是我执行GET和POST的地方。
我不知道我做错了什么,以便POST对我不起作用。
当我调用POST时,Android Studio不会给我任何错误,但不会修改WebService。
public interface PostService {
String API_ROUTE = " obtenerListaAlarmasSMS";
@GET(API_ROUTE)
Call<Post> getPost(@Header("Authorization") String credencialesEnBase64);
@POST(API_ROUTE)
@FormUrlEncoded
Call<Post> UpdatePostCall(@Field("result:[]") List<List<List<List<Object>>>> result );
}
我在调用POST时放在这里
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://192.168.0.249:9096/datasnap/rest/TMetodosREST/")
.addConverterFactory(GsonConverterFactory.create())
.build();
PostService Intento = retrofit.create(PostService.class);
Call <Post> call3 = Intento.UpdatePostCall(OtroArrayVacio);
try {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Response<Post> response = call3.execute();
} catch (IOException e) {
e.printStackTrace();
}
POJO就是这样的:
{
"result":[
[
[
12,
"01",
1,
"Fallo de corriente",
0,
1
],
[
12,
"01",
2,
"Nivel m\u00E1ximo (activaci\u00F3n)",
0,
0
],
[
12,
"01",
3,
"Nivel m\u00E1ximo (desactivaci\u00F3n)",
0,
0
],
[
12,
"01",
4,
"Nivel desborde",
0,
1
],
[
12,
"01",
5,
"Falta de agua",
0,
0
],
[
12,
"01",
6,
"Exceso de caudal",
0,
0
],
[
12,
"01",
7,
"Defecto de caudal",
0,
0
]
]
]
}
也许我的问题是通过POJO引起的,但情况是我设法将它当作Retrofit2在List >>中给了我。
我想要的是一旦修改了对象,将其发送到webService,但我没有得到它。