azure011328

导航

 

第二个界面做一个分类查询和模糊查询

 封装的retrofit2的网络请求的代码

package com.example.personalwork.utils

import com.example.newapplication.data.backData.ImageResponse
import com.example.newapplication.data.backData.LoginResponse
import com.example.newapplication.data.backData.NewsResponse
import com.example.newapplication.data.backData.TaskResponse
import com.example.newapplication.entity.Task
import com.example.newapplication.entity.User
import okhttp3.MultipartBody
import retrofit2.Response
import retrofit2.http.*


interface ApiService {

   @POST("user/login")
   suspend fun login(@Body user: User): Response<LoginResponse>
   @POST("user/register")
   suspend fun register(@Body user:User): Response<LoginResponse>
   @POST("user/changeName")
   suspend fun changeName(@Query("id") id:String, @Query("name") name:String): Response<LoginResponse>
   @POST("user/changeNo")
   suspend fun changeNo(@Query("id") id:String,@Query("no") no:String): Response<LoginResponse>
   @POST("user/changePassword")
   suspend fun changePassword(@Query("id") id:String,@Query("password")password:String): Response<LoginResponse>
   @POST("user/changeAddress")
   suspend fun changeAddress(@Query("id") id:String,@Query("address")address:String): Response<LoginResponse>
   @POST("user/changeInterest")
   suspend fun changeInterest(@Query("id") id:String,@Query("interest")interest:String): Response<LoginResponse>
   @Multipart
   @POST("user/upload")
   suspend fun uploadImage(@Part image: MultipartBody.Part,@Query("no") no:String): Response<ImageResponse>

   @POST("task/add")
   suspend fun addtask(@Body task: Task):Response<TaskResponse>
   @POST("task/update")
   suspend fun updatetask(@Query("id")id :String,@Query("receiveid") receiveid:String): Response<TaskResponse>
   @POST("task/finish")
   suspend fun finishtask(@Query("id")id :String,@Query("receiveid") receiveid:String): Response<TaskResponse>
   @POST("task/confirm")
   suspend fun confirmtask(@Query("id")id :String,@Query("sentid") sentid:String): Response<TaskResponse>
   @POST("task/listPage")
   suspend fun listPage(): Response<TaskResponse>

   @POST("news/getnews")
   suspend fun getNews(): Response<NewsResponse>

   @POST("news/search")
   suspend fun searchNews(@Query("keyword")keyword:String): Response<NewsResponse>
}
View Code
package com.example.personalwork.utils

import com.example.personalwork.utils.ApiClient.gson
import com.google.gson.GsonBuilder
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.converter.moshi.MoshiConverterFactory
import retrofit2.converter.scalars.ScalarsConverterFactory


object ApiClient {
    private const val BASE_URL = "http://192.168.38.71:9090/"
    val gson = GsonBuilder().setLenient().create()
    private val retrofit = Retrofit.Builder()
        .baseUrl(BASE_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .addConverterFactory(ScalarsConverterFactory.create()) // 如果需要支持字符串转换
        .addConverterFactory(GsonConverterFactory.create(gson)) // 如果需要支持 JSON 转换
        .addConverterFactory(MoshiConverterFactory.create()) // 如果需要支持 Moshi 转换
        .build()

    val apiService: ApiService = retrofit.create(ApiService::class.java)
}
View Code

 

posted on 2024-06-14 11:25  淮竹i  阅读(19)  评论(0)    收藏  举报