okhttp-basicparamsinterceptor
okhttp-basicparamsinterceptor copied to clipboard
thanks
已参照源码根据自己项目添加了~
@post("finance/getCoinPrice.do") Observable<BaseEntity> getCoinPrice();
我的解决办法是加个假参数 @formurlencoded @post("finance/getCoinPrice.do") Observable<BaseEntity> getCoinPrice(@field("aaa") int aaa); 请教这种请求该怎么写?
你可以加个假参数然后在传到服务器的时候过滤掉;
if (request.body() instanceof FormBody) {
FormBody.Builder newFormBodyBuilder = new FormBody.Builder();
newFormBodyBuilder
.add("uid", HttpHead.getUid())
.add("uuid", HttpHead.getSpUuid())
.add("model", HttpHead.getdevice())
.add("sys_v", HttpHead.getSysv())
.add("v", HttpHead.getVersion())
.add("o", "Android")
.add("channel", HttpHead.getChannel());
FormBody oldFormBody = (FormBody) request.body();
int paramSize = oldFormBody.size();
if (paramSize > 0) {
for (int i = 0; i < paramSize; i++) {
// 过滤重复的参数 为了没有参数时可以顺利添加固定参数
if (!"o".equals(oldFormBody.name(i))) {
newFormBodyBuilder.add(oldFormBody.name(i), oldFormBody.value(i));
}
}
}
builder.post(newFormBodyBuilder.build());
}
```java
已经解决了,修改了一下源码的一个判断