如何用retrofit发送携带参数的post请求
时间: 2023-05-13 11:05:43 浏览: 619
Retrofit网络请求GET请求POST请求
可以使用以下代码来使用 Retrofit 发送带参数的 POST 请求:
```java
public interface ApiService {
@FormUrlEncoded
@POST("api/endpoint")
Call<ResponseBody> postData(@Field("param1") String param1, @Field("param2") String param2);
}
// 创建 Retrofit 实例
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build();
// 创建 API 服务
ApiService apiService = retrofit.create(ApiService.class);
// 发送 POST 请求
Call<ResponseBody> call = apiService.postData("value1", "value2");
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
// 处理响应
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
// 处理错误
}
});
```
其中,`@FormUrlEncoded` 注解表示请求体是表单形式,`@POST("api/endpoint")` 注解表示请求的 URL,`@Field("param1")` 和 `@Field("param2")` 注解表示请求参数。在 `postData` 方法中,我们可以使用多个 `@Field` 注解来添加多个参数。最后,我们使用 `call.enqueue` 方法来发送请求,并在回调中处理响应和错误。
阅读全文