君子坦荡荡,小人长戚戚。——孔子
今天分享一个场景:
在对接声网rtc
时,遇到一个请求,需要在delete
请求中携带request body
所使用的请求框架是webflux
的webclient
如果我们正常使用delete
方法来构建请求,是无法通过bodyValue
传入body
的
但是这里我们可以直接使用:
代码语言:javascript复制/**
* 封禁用户权限-更新规则
* <a href="https://docportal.shengwang.cn/cn/All/rtc_channel_management_restfulapi?platform=Android#更新规则">
*/
public Mono<RtcAddDelKickRuleRes> delRtcKickRule(RtcDelKickRuleDTO dto) {
dto.setAppId(appId);
return webClient.method(HttpMethod.DELETE).uri("/dev/v1/kicking-rule")
.header(RtcRequestConst.AUTHORIZATION_KEY, getAuthorization())
.bodyValue(dto).retrieve().bodyToMono(String.class)
.map(str -> JacksonUtils.toObj(str, new TypeReference<>() {
}));
}
实现我们通过delete
请求,且携带request body
进行对接
注意这并不是标准的写法,建议在api
设计时候不要这样设计