java.lang.IllegalArgumentException:URL 查询字符串不得具有替换块



我正在使用Retrofit和GET请求:

@GET("Master/GetConsignerPartyList?prefix={claimId}")
Observable<ConsignerPartyResponse> consignerPartyReq(@HeaderMap Map<String, String> headers, @Path("claimId") String search);

并收到此错误:

java.lang.IllegalArgumentException:URL 查询字符串"prefix={claimId}"不得具有替换块。对于动态查询参数,请使用@Query。

出了什么问题?

从 url 中删除 ?prefix={claimId},因为查询名称在 url 中不应是静态的。

@GET("Master/GetConsignerPartyList")
Observable<ConsignerPartyResponse> consignerPartyReq(
@HeaderMap Map<String, String> headers,
@Query("prefix") String search);

它会工作:-(

claimId

是查询的一部分,因为您在 URL -?prefix={claimId}"中设置了查询

@Path替换路径中的占位符,即@GET("Master/{claimId}/")

要在查询中替换,只需使用@Query("claimId")

@GET("Master/GetConsignerPartyList?prefix={claimId}")
Observable<ConsignerPartyResponse> consignerPartyReq(
@HeaderMap Map<String, String> headers, 
@Query("claimId") String search);

相关内容

  • 没有找到相关文章

最新更新