android string 去掉斜杠,Android – PATH中的改装和斜杠字符
我正在面临一个与Retrofit的问题,并希望找到一个合适的答案,作为唯一的方式,我可以想到它是相当丑陋和不实际.Retrofit PATH注释在开始时需要一个“/”(你可以从这个从库中提取的代码中读取:/** Loads {@link #requestUrl},{@link #requestUrlParamNames},and {@link #requestQuery}. */private v
我正在面临一个与Retrofit的问题,并希望找到一个合适的答案,作为唯一的方式,我可以想到它是相当丑陋和不实际.
Retrofit PATH注释在开始时需要一个“/”(你可以从这个从库中提取的代码中读取:
/** Loads {@link #requestUrl},{@link #requestUrlParamNames},and {@link #requestQuery}. */
private void parsePath(String path) {
if (path == null || path.length() == 0 || path.charAt(0) != '/') {
throw methodError("URL path \"%s\" must start with '/'.",path);
}
我所面临的问题是PATH部分来自响应对象中的后端,这意味着所有PATH的字符串已经从以前的其他响应中的后端格式化,如下所示:
Object : {
href: "/resources/login..."
}
正如你所看到的,当包含这样的东西时,网址变得格格不定:
@GET("{/loginHref}")
void login(@EncodedPath("loginHref") String loginHref,Callback callback);
这肯定会导致一些端点的问题,除了这样做之外,我不能想到一个非常简单的方法来解决这个问题:
a)修改我自己的改版版本以删除/字符检查(这是最后的手段)
b)在使用界面中的方法之前,截断href(我希望不惜一切代价避免这种方法,并且会在整个地方添加不必要的转换.
c)拦截请求并正确地形成URL,以防这种情况发生(真的很丑的解决方案).
任何想法,建议?
谢谢!
更多推荐
所有评论(0)