【问题标题】:java.lang.IllegalArgumentException: @Url cannot be used with @GET URL (parameter #1)java.lang.IllegalArgumentException:@Url 不能与 @GET URL 一起使用(参数 #1)
【发布时间】:2023-03-24 17:57:02
【问题描述】:
@GET("user/token/")
Observable<String> gToken(@Url String url, @Query("usertype") int userType);

我收到以下错误:

Process: com.gouhuoapp.say, PID: 12519
rx.exceptions.OnErrorNotImplementedException: @Url cannot be used with @GET URL (parameter #1)
    for method ApiService.getToken
    at rx.internal.util.InternalObservableUtils$ErrorNotImplementedAction.call(InternalObservableUtils.java:386)
    at rx.internal.util.InternalObservableUtils$ErrorNotImplementedAction.call(InternalObservableUtils.java:383)
    at rx.internal.util.ActionSubscriber.onError(ActionSubscriber.java:44)
    at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:153)
    at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:115)
    at rx.exceptions.Exceptions.throwOrReport(Exceptions.java:216)
    at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:139)
    at rx.observers.SerializedObserver.onNext(SerializedObserver.java:91)
    at rx.observers.SerializedSubscriber.onNext(SerializedSubscriber.java:94)
    at rx.internal.operators.OperatorTakeUntil$1.onNext(OperatorTakeUntil.java:45)
    at rx.internal.operators.OperatorThrottleFirst$1.onNext(OperatorThrottleFirst.java:53)
    at com.jakewharton.rxbinding.view.ViewClickOnSubscribe$1.onClick(ViewClickOnSubscribe.java:23)
    at android.view.View.performClick(View.java:4909)
    at android.view.View$PerformClick.run(View.java:20390)
    at android.os.Handler.handleCallback(Handler.java:815)
    at android.os.Handler.dispatchMessage(Handler.java:104)
    at android.os.Looper.loop(Looper.java:192)
    at android.app.ActivityThread.main(ActivityThread.java:5784)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1084)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
 Caused by: java.lang.IllegalArgumentException: @Url cannot be used with @GET URL (parameter #1)
    for method ApiService.getToken
    at retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:720)
    at retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:711)
    at retrofit2.ServiceMethod$Builder.parameterError(ServiceMethod.java:729)
    at retrofit2.ServiceMethod$Builder.parseParameterAnnotation(ServiceMethod.java:367)
    at retrofit2.ServiceMethod$Builder.parseParameter(ServiceMethod.java:333)
    at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:202)
    at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:166)
    at retrofit2.Retrofit$1.invoke(Retrofit.java:145)
    at java.lang.reflect.Proxy.invoke(Proxy.java:397)
    at $Proxy3.getToken(Unknown Source)
    at com.gouhuoapp.say.data.DataManager.getToken(DataManager.java:83)
    at com.gouhuoapp.say.view.activity.RegisterMobileActivity.getQiniuToken(RegisterMobileActivity.java:171)
    at com.gouhuoapp.say.view.activity.RegisterMobileActivity.lambda$initTitle$4(RegisterMobileActivity.java:153)
    at com.gouhuoapp.say.view.activity.RegisterMobileActivity$$Lambda$7.call(Unknown Source)
    at rx.internal.util.ActionSubscriber.onNext(ActionSubscriber.java:39)
    at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:134)
        ... 15 more

【问题讨论】:

    标签: java url get retrofit2


    【解决方案1】:

    该错误的含义与它所说的完全一样,您可以在参数上使用GET(...)@Url,但不能同时使用两者。如果需要使用@Url,请将@GET注解中的url去掉。您需要将您在 url 参数中的部分 url 添加到您的 url 参数中。

    @GET
    Observable<String> gToken(@Url String url, @Query("usertype") int userType);
    

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 2010-12-23
      相关资源
      最近更新 更多