retrofit2 post application/x-www-form-urlencoded
时间: 2023-09-27 07:11:28 浏览: 197
提交multipart/x-www-form-urlencoded类型数据
在Retrofit2中,要使用application/x-www-form-urlencoded格式进行POST请求,可以使用@FormUrlEncoded注解和@Field注解来实现。首先,在你的API接口中使用@FormUrlEncoded注解,然后在你的POST请求方法上使用@POST注解,并添加@Headers注解来指定Content-Type为application/x-www-form-urlencoded。接下来,在POST请求方法的参数中使用@Field注解来指定你的请求参数和对应的值。最后,通过调用Retrofit的create方法来创建一个API接口的实例,然后使用该实例调用POST请求方法即可。
参考代码如下:
```java
public interface YourAPI {
@FormUrlEncoded
@POST("your-endpoint")
@Headers("Content-Type: application/x-www-form-urlencoded")
Call<YourResponse> postData(@Field("param1") String value1, @Field("param2") String value2);
}
// 创建Retrofit实例
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("your-base-url")
.addConverterFactory(GsonConverterFactory.create())
.build();
// 创建YourAPI接口的实例
YourAPI yourAPI = retrofit.create(YourAPI.class);
// 发起POST请求
Call<YourResponse> call = yourAPI.postData("value1", "value2");
call.enqueue(new Callback<YourResponse>() {
@Override
public void onResponse(Call<YourResponse> call, Response<YourResponse> response) {
// 处理响应结果
}
@Override
public void onFailure(Call<YourResponse> call, Throwable t) {
// 处理请求失败
}
});
```
阅读全文