CharArray as Field 修改请求数据输入
CharArray as Field modify the request data input
背景:
- 改造版本:2.5.0
- RxJava 版本:2.2.0
代码片段:
@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)
背景:
- 改造版本:2.5.0
- RxJava 版本:2.2.0
代码片段:
@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)