我正在使用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);