邮政原始JSON
问题描述:
我想发布这样的邮政原始JSON
{ “jsonrpc” JSON请求: “2.0”, “方法”: “testApi”, “PARAMS”:{ “消息”: “ABC” } , “ID”:1}
我看了帖子:
How to POST raw whole JSON in the body of a Retrofit request?
但我can'not发现了类TypedInput,TypedByteArray,TypedString我retrofit2包。哪里?
答
张贴身体Retrofit
,您创建一个对象,代表本机构,包括String jsonrpc
类,String method
等。然后,这个对象传递给您在服务接口定义,并与设置了一个param方法@Body
注释。
这里是POST主体对象的例子:
public class PostBody{
String jsonprc;
String method;
Param param;
public PostBody(...){
//IMPLEMENT THIS
}
...
class Param{
//IMPLEMENT THIS
}
}
答
POST数据到服务器需要backhend程序这是发表您的数据在服务器上的数据库 .....
改造后需要RESTAPI和POJO类....
API接口
public interface Api {
@POST("/upload/{new}.json")
Call<User> setData(@Path("new") String s1, @Body User user);
}
改造对象
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("here-your-url")
.addConverterFactory(GsonConverterFactory.create())
.build();
API对象
Api api = retrofit.create(Api.class);
改造呼叫
Call<User> call = api.setData("mahesh", new User("mahesh", "delhi"));
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
t1.setText("Success");
}
@Override
public void onFailure(Call<User> call, Throwable t) {
Log.d("sam", "fail");
t1.setText("fail");
}
});
POJO类//这个类,你创建只是把你的JSON数据到这个POJOConvertion
public class User {
String name;
String address;
public User(String name, String address) {
this.address = address;
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
享受编码。
如果要用于改造任何做法比请使用此Retrofit + Firebase
+0
感谢兄弟。帮助过我。 –
我怎么能代表PARAMS JSON数组(从我的例子)类领域? –
如果该对象除了该主体以外的任何地方不需要,则为其创建静态内部类。 – Embydextrous
查看我的增补 –