From ff86c28ee07e1f8d0ad84d085c9ecaf4f943013d Mon Sep 17 00:00:00 2001 From: Eric85710 Date: Mon, 27 Apr 2026 18:18:12 +0800 Subject: [PATCH] auth to server-V1 --- .../login_v3/data/api/Main_API_Service.kt | 22 +++++++++---------- ...st_Response.kt => AuthRequest_Response.kt} | 7 ++++++ 2 files changed, 18 insertions(+), 11 deletions(-) rename app/src/main/java/com/example/login_v3/data/api/api_class/{LoginRequest_Response.kt => AuthRequest_Response.kt} (59%) diff --git a/app/src/main/java/com/example/login_v3/data/api/Main_API_Service.kt b/app/src/main/java/com/example/login_v3/data/api/Main_API_Service.kt index 42d4571..e47b8d6 100644 --- a/app/src/main/java/com/example/login_v3/data/api/Main_API_Service.kt +++ b/app/src/main/java/com/example/login_v3/data/api/Main_API_Service.kt @@ -1,11 +1,7 @@ package com.example.login_v3.data.api -import com.example.login_v3.data.api.api_class.ApiResponse -import com.example.login_v3.data.api.api_class.FriendRequest -import com.example.login_v3.data.api.api_class.LoginRequest -import com.example.login_v3.data.api.api_class.LoginResponse +import com.example.login_v3.data.api.api_class.* import retrofit2.Response -import com.example.login_v3.data.api.api_class.User import retrofit2.http.Body import retrofit2.http.GET import retrofit2.http.Header @@ -14,20 +10,24 @@ import retrofit2.http.POST interface TecnologiaApi { @GET("api/health") - // 必須包裹在 Response<> 裡面,才能呼叫 .isSuccessful suspend fun checkHealth(): Response + // 註冊:建議路徑 api/auth/register + @POST("api/auth/register") + suspend fun register(@Body body: RegisterRequest): Response + + // 登入:將回傳值包裹在 Response 中 @POST("api/auth/login") - suspend fun login(@Body body: LoginRequest): LoginResponse + suspend fun login(@Body body: LoginRequest): Response + // 取得個人資料:通常需要 Token @GET("api/me") - suspend fun getMe(@Header("Authorization") token: String): User + suspend fun getMe(@Header("Authorization") token: String): Response + // 發送好友請求 @POST("api/friends/request") suspend fun sendFriendRequest( @Header("Authorization") token: String, @Body body: FriendRequest - ): ApiResponse - - // 其他 endpoint 一樣加 + ): Response } \ No newline at end of file diff --git a/app/src/main/java/com/example/login_v3/data/api/api_class/LoginRequest_Response.kt b/app/src/main/java/com/example/login_v3/data/api/api_class/AuthRequest_Response.kt similarity index 59% rename from app/src/main/java/com/example/login_v3/data/api/api_class/LoginRequest_Response.kt rename to app/src/main/java/com/example/login_v3/data/api/api_class/AuthRequest_Response.kt index e040c5b..b29f6a7 100644 --- a/app/src/main/java/com/example/login_v3/data/api/api_class/LoginRequest_Response.kt +++ b/app/src/main/java/com/example/login_v3/data/api/api_class/AuthRequest_Response.kt @@ -8,4 +8,11 @@ data class LoginRequest( data class LoginResponse( val token: String, val userId: String +) + +data class RegisterRequest( + val display_name: String, + val email: String, + val password: String, + val username: String ) \ No newline at end of file