改造编码身体

时间:2017-05-31 19:41:22

标签: android character-encoding retrofit

我有一个API调用。我正在使用Retrofit进行如下调用:

by

我正在调用API,如:

  @POST("/speak?api-version=2.0")
  Observable<Response> testAPICall(
        @Header("Content-Type") String contentType,
        @Body String text,
        @Query("language") String languageCode,
      );

问题是,bodyString被编码。所以,&#39;&lt;&#39;或者&#39;&gt;&#39;或者&#39; /&#39;等编码为/ u003等。

搜索SO没有帮助。我尝试过 - 使用FormUrlEncoding,它没有编译,也将正文作为bytes []传递,但也失败了。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我将签名从String更改为TypedString:

来自@Body String text - &gt; @Body TypedString文本,

Observable<Response> testAPICall(
    @Header("Content-Type") String contentType,
    @Body TypedString text,
    @Query("language") String languageCode,
  );

我没有传递String,而是传递了:new TypedString(theText)