1、retrofit利用post方式发送json数据
1.1、方式一
@POST("/login")
Observable login(@Body User user);
使用@Body注解传入一个对象,若User类如下,
public class User {
public String name;
public String password;
}
那么,该请求会发送如下的数据到服务器:
{“name”: “xxx”, “password”:“xxx”}
1.2、方式二
@Headers(“Content-Type: application/json”)
@POST(“login”)
Observable login(@Body String body);
注意在方法上面添加了@Header注解,指定数据类型为json。
使用时利用如下方式传参
JSONObject params = new JSONObject();
params.put(“name”, “xxx”);
params.put(“password”, “123”);
login(params.toString());
同样,该请求会发送如下的数据:
{“name”:“xxx”, “password”:“123”}
2、retrofit利用post方式发送表单数据
@FormUrlEncoded
@POST(“user/edit”)
Call updateUser(@Field(“first_name”) String first, @Field(“last_name”) String last);
注解@FormUrlEncoded以表单方式提交数据。