webclient在delete请求时携带request body

2023-11-17 10:48:42 浏览数 (3)

君子坦荡荡,小人长戚戚。——孔子

今天分享一个场景:

在对接声网rtc时,遇到一个请求,需要在delete请求中携带request body

所使用的请求框架是webfluxwebclient

如果我们正常使用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设计时候不要这样设计

0 人点赞