如何通过“?” 在以 id 作为我的 url 的 URL android 中给出如下

我的网址


String BASE_URL = "http://74.207.233.160/api/v1/";

这17是我要手动传递的 id


我的界面是


public interface MyCandidateApi {


@GET("{user_id}")

Call<MyJobs> matchingcandidates(

        @Path(value = "user_id", encoded = true) String user_id,

        @Header("Authorization") String token

);

}

我user_id作为


Integer id = 17;

String user_id = "candidates?job="+id;

但是当我运行它时,网址以这种格式显示“ http://74.207.233.160/api/v1/candidates%3Fjob=17 ”


你能帮我解决吗


翻阅古今
浏览 125回答 2
2回答

largeQ

您拥有的字符串是部分 url 编码的,请尝试使用URLDecoder。String&nbsp;afterDecode&nbsp;=&nbsp;URLDecoder.decode(<your&nbsp;string>,&nbsp;"UTF-8");

素胚勾勒不出你

我不确定你的用例,但 Retrofit 有办法处理这个问题,在我看来,这对于这个特定情况来说似乎更好。我会让界面像这样:public interface MyCandidateApi {&nbsp; @GET("candidates")&nbsp; Call<MyJobs> matchingcandidates(&nbsp; &nbsp; @Query("job") int user_id,&nbsp; &nbsp; @Header("Authorization") String token&nbsp; );}像这样,candidates自动添加到路径中,以及查询参数job。像这样,您无需担心对参数进行编码甚至将其转换为字符串。改造为您完成。这假设您根本不想对其进行编码。从您的问题来看,这是理想的行为。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java