如何通过“?”在URL android id为我的URL如下

时间:2019-01-28 04:05:08

标签: java android retrofit retrofit2

我的网址

nlp.to_disk('model')

String BASE_URL = "http://74.207.233.160/api/v1/"; 是我要手动传递的ID

我的界面是

17

我通过public interface MyCandidateApi { @GET("{user_id}") Call<MyJobs> matchingcandidates( @Path(value = "user_id", encoded = true) String user_id, @Header("Authorization") String token ); }

user_id

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

你能帮我解决吗

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我不确定您的用例,但是Retrofit可以处理这种情况,我认为对于这种特定情况似乎更好。

我将使界面如下:

public interface MyCandidateApi {

  @GET("candidates")
  Call<MyJobs> matchingcandidates(
    @Query("job") int user_id,
    @Header("Authorization") String token
  );
}

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

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