CharArray as Field 修改请求数据输入

CharArray as Field modify the request data input

背景:

代码片段:

@FormUrlEncoded
@POST("enroll/device")
fun token(@Field("username") username: String, @Field("password") password: CharArray): Single<Token>

private val retrofit: Retrofit by lazy {
        val retrofitBuilder = Retrofit.Builder()
                .baseUrl(url)
                .addConverterFactory(JacksonConverterFactory.create(objectMapper))
                .addConverterFactory(ScalarsConverterFactory.create())
                .addCallAdapterFactory(RxErrorHandlingCallAdapterFactory.create())
                .client(okHttpClient)

        retrofitBuilder.build()
    }

日志

login=merchant1&password=1&password=2&password=3&password=4&password=o&password=4&password=A&password=%26

这对我有用,我从 FormUrlEncoded 更改为 @Body :

@POST("enroll/device")
fun token(@Body credentials: Credentials): Single<Token>

并且我将 数据 class 定义如下:

data class Credentials(@JsonProperty("login") var login: String,
                          @JsonProperty("password") var password: CharArray)