Android 不使用改装对URL参数进行编码会返回一个奇怪的响应

Android 不使用改装对URL参数进行编码会返回一个奇怪的响应,android,retrofit,retrofit2,moshi,Android,Retrofit,Retrofit2,Moshi,我正在用改造请求和Moshi来解析响应来实现一个android应用程序 对于其中一个请求,我需要修改以不编码查询,因为它包含“:”并且服务器不会接受“%3A”。我使用: 及 并且“:”按其应有的方式保留在URL中,但它没有得到JSON响应,而是返回此响应(我没有发布网络配置文件显示的整个响应,因为它的大小): èìZ]rÛ8¾Jè6kÀo EËoeŒŒÙ${œZ]rÛ8¾4GÐNÖ-Ø[ ìÃ^ao³{ 百万欧元“HJÔNŸN¸,³4ük”�Oøå+?N§dþÌ�~ù�£Š 结核病{ s/')[

我正在用改造请求和Moshi来解析响应来实现一个android应用程序

对于其中一个请求,我需要修改以不编码查询,因为它包含“”并且服务器不会接受“%3A”。我使用:

并且“”按其应有的方式保留在URL中,但它没有得到JSON响应,而是返回此响应(我没有发布网络配置文件显示的整个响应,因为它的大小):

èìZ]rÛ8¾Jè6kÀo EËoeŒŒÙ${œZ]rÛ8¾4GÐNÖ-Ø[ ìÃ^ao³{ 百万欧元“HJÔNŸN¸,³4ük”�Oøå+?N§dþÌ�~ù�£Š 结核病{ s/')[Bü

当我禁用URL编码发送URL时,在失眠中一切正常


感谢您的帮助,如果您需要更多信息,请告诉我。

尝试更改响应以捕获完整响应(我认为您可以使用BasicResponse作为响应参数或类似的内容),而不是将其转换为您的类,查看是一切正常的。如果是,那么问题可能与MoshiConverterFactory有关,因此您也可以尝试使用GSON来代替。@BrankoRiznićBasicResponse工作得非常好,根据Moshi ConverterGSON在更正数据类中的问题后为我工作的说法,这可能是一个问题,因此现在使用GS一切都按预期运行?是的,但在我发现一些可选参数在Json响应中是可选的(例如val departureTime:String?)之后,它也可以与Moshi一起工作。我将继续使用Moshi,因为这是我的错误。谢谢!
@Query(value = "viaList", encoded = true) viaCitiesCode: String
private val moshi = Moshi.Builder()
    .add(KotlinJsonAdapterFactory())
    .build()

private val retrofit = Retrofit.Builder()
    .addConverterFactory(MoshiConverterFactory.create(moshi))
    .addCallAdapterFactory(CoroutineCallAdapterFactory())
    .baseUrl(BASE_URL)
    .build()