当前位置: 首页 > 知识库问答 >
问题:

动态提供值时,修改错误URL查询字符串不能具有替换块

高英彦
2023-03-14

我想使用reverfit获取JSON数据获取此错误

原因:java.lang.IllegalArgumentException:URL查询字符串“q={text}&langpair={l_from}{l_to}”不能有replace block。对于动态查询参数,请使用@query。

    // example of my site
    // http://mytempsite.com/get?q=hello friend&langpair=en|ur

    @GET("get?q={text}&langpair={from}|{to}")
    Call<ApiService> getJsonData(@Query("text") String text,
                                 @Query("from") String from,
                                 @Query("to") String to);
Call<ApiService> call = apiService.getJsonData("hello word","en","ur");

但当我这样静态使用时,它就会起作用。

@GET("get?q=Hello Word&langpair=en|ur")
        Call<ApiService> getJsonData(@Query("text") String text,
                                     @Query("from") String from,
                                     @Query("to") String to);

共有1个答案

呼延化
2023-03-14

请尝试以下代码:

@GET(".")
Call<ApiService> getJsonData(@Query("q") String text,
                             @Query("langpair") String langpair);

Call<ApiService> call = apiService.getJsonData("hello word","en|ur");
 类似资料:
  • 我想使用reverfit获取JSON数据获取此错误 在ApiService类中显示错误。请告诉我如何将单词传递给链接

  • 我正在尝试使用Revovit2调用一个遗留API,这是URL,这是接口方法 不管我遇到什么错误,

  • 问题内容: 我在玩node.js,express和mongoose。 为了立即启动并运行,我将Express查询字符串对象直接传递给mongoose find函数。我很好奇的是,这种做法在实时应用中会有多危险。我知道RDBMS极易受到SQL注入的攻击。除了“清理您的输入”的好建议之外,这段代码有多邪恶: 这意味着获取请求只会将以下内容推送到findDocs函数中: 由于种种原因,这感觉很不好,但是

  • 问题内容: 我是bash脚本的新手,但我不理解为什么它不起作用 第3行的替代替换错误 问题答案: 该替换在Bash 4.2.8中正常工作(并且根据文档看起来还不错)。 我最好的猜测是您实际上并没有使用Bash-您如何调用脚本?如果您正在执行此操作,则可能会与Dash或类似的程序一起运行(Dash确实在第3行给出了替换错误)。尝试使用Bash()显式运行它。 如果事实证明您实际上是在使用Dash,这

  • 我是thymeleaf新手,我想使用thymeleaf url创建动态查询字符串。对于分页,我在所有页面中使用公共片段和include片段。在所有页面中都有搜索选项,还需要分页进行搜索。所以,我们需要在搜索条件的分页中传递动态查询字符串。但是当我创建动态查询字符串时,URL会对特殊字符进行编码,如和

  • 我正在做一个语言翻译项目,但在中间的某个地方卡住了。 我有这样的情况,有一根绳子 我想得到 即提取带引号的子字符串,去掉“$”并用新的子字符串替换原始子字符串。 我可以提取和更改引用的子字符串,但当我尝试用原始子字符串替换它们时,它不起作用。要显示示例代码: 我不知道为什么替换失败。会感谢你的帮助。