为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

翻阅古今 2022-05-25 10:52:20
我的网址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 ”你能帮我解决吗
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超8个赞

您拥有的字符串是部分 url 编码的,请尝试使用URLDecoder

String afterDecode = URLDecoder.decode(<your string>, "UTF-8");


查看完整回答
反对 回复 2022-05-25
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

我不确定你的用例,但 Retrofit 有办法处理这个问题,在我看来,这对于这个特定情况来说似乎更好。


我会让界面像这样:


public interface MyCandidateApi {


  @GET("candidates")

  Call<MyJobs> matchingcandidates(

    @Query("job") int user_id,

    @Header("Authorization") String token

  );

}

像这样,candidates自动添加到路径中,以及查询参数job。像这样,您无需担心对参数进行编码甚至将其转换为字符串。改造为您完成。


这假设您根本不想对其进行编码。从您的问题来看,这是理想的行为。


查看完整回答
反对 回复 2022-05-25
  • 2 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号