尝试在Retrofit2接口方法上构建@Get注释:
@GET("select?q=DH_PROD_ID:{journalId}")
Call<PdhResult> getJournal(@Path("journalId") String journalId, Callback<PdhResult> resultCallback);
此变体会导致错误:
URL query string "q=DH_PROD_ID:{journalId}" must not have replace block
正如您在此处所见,查询参数q具有常量和可变部分。
由于几个原因,不希望每次调用都在外部构建完整的param值。
我只想将journalId
替换为提供的String journalId
,是否可能?
答案 0 :(得分:0)
如何定义方法
@GET("select")
Call<PdhResult> getJournal(@QueryParam("q") JournalId journalId, Callback<PdhResult> resultCallback)
class JournalId
{
String id;
public JournalId(String id)
{
if (id == null || !id.startsWith("DH_PROD_ID:"))
{
//throw proper exception
}
this.id = id.substring("DH_PROD_ID:".length());
}
public String getId()
{
return id;
}
}