🚀 Retrofit 通过注解定义 HTTP 方法,将接口声明转化为可执行的网络请求。
掌握 @GET、@POST、@PUT、@DELETE、@PATCH
是构建 RESTful 客户端的基石。
| 注解 | HTTP 方法 | 语义 / 用途 | 请求体 | 幂等 |
|---|---|---|---|---|
| @GET | GET | 获取资源 | 无 | ✅ 是 |
| @POST | POST | 创建资源 / 提交数据 | 有 ( @Body ) | ❌ 否 |
| @PUT | PUT | 完整更新资源 | 有 ( @Body ) | ✅ 是 |
| @DELETE | DELETE | 删除资源 | 通常无 | ✅ 是 |
| @PATCH | PATCH | 部分更新资源 | 有 ( @Body ) | ❌ 否 |
{id}@Query@Header@Field@Multipart@GET("users/{id}") Call<User> getUser(@Path("id") int userId); @POST("users") Call<User> createUser(@Body User newUser); @PUT("users/{id}") Call<User> updateUser(@Path("id") int userId, @Body User updatedUser); @DELETE("users/{id}") Call<ResponseBody> deleteUser(@Path("id") int userId); @PATCH("users/{id}") Call<User> patchUser(@Path("id") int userId, @Body User partial);
🧩 Retrofit 注解驱动架构 · 请求流程
📎 注意:@PATCH 与 @PUT 的区别
PUT 用于替换整个资源,PATCH 用于部分更新。在 Retrofit 中两者均使用 @Body 传递请求体,但语义不同,服务端实现需对应。