Java Android2泛型方法 我使用2连接到服务器,

Java Android2泛型方法 我使用2连接到服务器,,java,android,generics,kotlin,retrofit2,Java,Android,Generics,Kotlin,Retrofit2,为了简化请求方法的数量,我使用泛型。但问题是改造不接受通用方法。我把示例代码放在下面。有人知道解决办法吗 照片1): 导入io.reactivex.Observable 导入okhttp3.RequestBody 导入文件2.http.Body 导入文件2.http.GET 导入文件2.http.POST 导入文件2.http.Path 接口接口{ @POST({url})有趣的帖子( @路径(“url”)url:String, @主体:请求主体 ):可见 @获取(“{url}”)乐趣获取(

为了简化请求方法的数量,我使用泛型。但问题是改造不接受通用方法。我把示例代码放在下面。有人知道解决办法吗

照片1):

导入io.reactivex.Observable
导入okhttp3.RequestBody
导入文件2.http.Body
导入文件2.http.GET
导入文件2.http.POST
导入文件2.http.Path
接口接口{
@POST({url})有趣的帖子(
@路径(“url”)url:String,
@主体:请求主体
):可见
@获取(“{url}”)乐趣获取(
@路径(“url”)url:字符串
):可见
}
照片2:

导入io.reactivex.Observable
导入io.reactivex.android.schedulers.AndroidSchedulers
导入io.reactivex.schedulers.schedulers
导入okhttp3.RequestBody
导入java.io.Serializable
类APIService构造函数(专用val mApi:APIService接口){
有趣的帖子(url:String,body:RequestBody):可观察{
val observable=mApi.post(url,正文)
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
可观测回波
}
乐趣获取(url:String):可观察{
val observable=mApi.get(url)
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
可观测回波
}
}
照片3:

mAPIService.post(URL\u注册,正文)
.subscribe(对象:APIObserver){
覆盖fun onNext(it:SignUpModel){
.
.
.
照片4:

W:java.lang.IllegalArgumentException:方法返回类型不能包含类型变量或通配符:io.reactivex.Observable
W:对于方法APIInterface.post
.
.
.
需要在运行时完全了解类型信息,以便 反序列化工作

您不能这样做,类型信息必须是完全静态的,而不是泛型的,否则改装无法正确生成服务。请参阅

需要在运行时完全了解类型信息,以便 反序列化工作


您不能这样做,类型信息必须是完全静态的,而不是泛型的,否则改型无法正确生成服务。请查看。

将代码添加为文本。不要截图请不要发布图像。请添加代码以更好地理解您可以再次看到的内容。@Dilananuruddha您可以再次看到。@parthy您可能可以使用
Observable
将代码添加为文本。非屏幕快照请不要发布图像。相反,请添加代码以更好地理解您可以再次看到的内容。@Dilananuruddha您可以再次看到。@parthy您可能可以使用
可观察的

import io.reactivex.Observable
import okhttp3.RequestBody
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.Path

interface APIInterface {

   @POST("{url}") fun <T> post(
      @Path("url") url: String,
      @Body body: RequestBody
   ): Observable<T>

   @GET("{url}") fun <T> get(
      @Path("url") url: String
   ): Observable<T>
}
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import okhttp3.RequestBody
import java.io.Serializable

class APIService constructor(private val mApi: APIInterface) {

   fun <T: Serializable> post(url: String, body: RequestBody): Observable<T>{
      val observable = mApi.post<T>(url, body)
      observable.subscribeOn(Schedulers.io())
         .observeOn(AndroidSchedulers.mainThread())
      return observable
   }

   fun <T: Serializable> get(url: String): Observable<T> {
      val observable = mApi.get<T>(url)
      observable.subscribeOn(Schedulers.io())
         .observeOn(AndroidSchedulers.mainThread())
      return observable
   }
}
mAPIService.post<SignUpModel>(URL_SIGN_UP, body)
        .subscribe(object : APIObserver<SignUpModel> {
            override fun onNext(it: SignUpModel) {
    .
    .
    .
W: java.lang.IllegalArgumentException: Method return type must not include a type variable or wildcard: io.reactivex.Observable<T>
W: for method APIInterface.post
    .
    .
    .