在这个博文中,我们主要讲述,如何获取以及改变 request
的各项参数,通常 request
会和 拦截器联系在一起。
属性值的获取
request.body
在 request.body
中,主要是字节存储,所以,想要使用,首先得把字节转化为 string
,修改会再转为字节。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| public class FtxInterceptor extends BaseInterceptor { ...
@Override public void buildSign(Request request, Request.Builder builder) { try { String body = bodyToString(request.body()); } catch (Exception e) { logger.error("sign is error {} {}", e.getLocalizedMessage(), e); }
}
private String bodyToString(final RequestBody body) { try { final Buffer buffer = new Buffer(); if (body != null) { body.writeTo(buffer); } else { return ""; } return buffer.readUtf8(); } catch (IOException e) { logger.error("body to string error", e); throw new RuntimeException(e); } } }
|