【发布时间】:2018-01-10 11:11:04
【问题描述】:
我正在使用改造在我的 Android 应用程序中构建弹性搜索的搜索请求。以下是我的代码:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ElasticSearchAPI searchAPI = retrofit.create(ElasticSearchAPI.class);
HashMap<String, String> headerMap = new HashMap<>();
headerMap.put("Authorization", Credentials.basic("user", elasticSearchPassword));
String searchString = "title:"+ title;
Call<HitsObject> call = searchAPI.search(headerMap, "AND", searchString);
从elasticsearch响应中我发现URL变成了:url=http://35.xxx.xxx.48//elasticsearch/hashtags/hashtag/_search?default_operator=AND&q=title:%E6%B5%B7%E5%BA%95%E6%8D%9E%E7%81%AB%E9%94%85
但是我这里传入的title是一个有效的中文字符串。我该如何解决这个问题?谢谢!
【问题讨论】:
-
使用
URLDecoder获取原始url。 -
你能给出一些更具体的说明吗?对不起,我是新手..
-
我已经发布了我的答案。
标签: java encoding character retrofit2