当前位置: 首页 > news >正文

SpringBoot集成腾讯云敏感词校验API流程

1.pom.xml中引入腾讯云jar配置信息

<dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java</artifactId><version>4.0.11</version>
</dependency>

2.application.yaml中添加配置

tencent:tms:secret-id: AKDahCRQ9bolQovlKccMpBsecret-key: tWswkHXWEenfCpCI7fxxhAbiz-type: test_demo

3.项目中映射配置信息

@Data
@Component
@ConfigurationProperties(prefix = "tencent.tms")
public class TencentTmsProperties {private String secretId;private String secretkey;private String bizType;
}

4.封装敏感词校验工具类

@Slf4j
@Component
public class TencentTmsUtils {@Autowiredprivate TencentTmsProperties tencentTmsProperties;/*** 敏感词过滤** @param content* @return*/public Boolean getTmsResult(String content) {if (StringUtils.isEmpty(content) || StringUtils.isEmpty(content.trim())) {return Boolean.TRUE;}Credential cre = new Credential(tencentTmsProperties.getSecretId(), tencentTmsProperties.getSecretkey());TmsClient client = new TmsClient(cre, "ap-shanghai");TextModerationRequest request = new TextModerationRequest();request.setBizType(tencentTmsProperties.getBizType());request.setContent(Base64.encode(content));try {TextModerationResponse response = client.TextModeration(request);if (!ObjectUtils.isEmpty(response)) {return "Pass".equals(response.getSuggestion());}//response.getLabel();//返回值:Normal:正常,Porn:色情,Abuse:谩骂,Ad:广告,Custom//response.getSuggestion();//返回值:Block:建议屏蔽,Review :建议人工复审,Pass:建议通过log.info("敏感词类型:" + response.getLabel() + "处理结果:" + response.getSuggestion());} catch (TencentCloudSDKException e) {log.error("Sensitive word detection failed, because: ", e);}return Boolean.FALSE;}
}

5.业务代码中应用敏感词校验

 // 获取评论内容信息String content = req.getCommentContent();if (!tencentTmsUtils.getTmsResult(content)) {throw new BusinessException("评论内容包含敏感词语");}

相关文章:

  • vlan综合实验
  • 运维笔记.MySQL.基于mysqldump数据备份与恢复
  • 【Linux】- HBase集群部署 [19]
  • Ubuntu 22.04 docker方式启动artifactory相关
  • linux替换文件中的字符串
  • C语言 | Leetcode C语言题解之第108题将有序数组转换为二叉搜索树
  • 网上的面经【面试准备】
  • Docker打包nginx镜像丢失挂载的配置文件
  • Vue3实现上传照片以及回显
  • Linux--进程概念
  • 配置yum源
  • HTML5表单控件:新时代的交互魔法手册
  • 深入探索Kafka:了解其不可或缺的核心组件
  • linux:切分大文件
  • 论文精读:UFO: A UI-Focused Agent for Windows OS Interaction
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【翻译】babel对TC39装饰器草案的实现
  • CEF与代理
  • ES6之路之模块详解
  • go语言学习初探(一)
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Java小白进阶笔记(3)-初级面向对象
  • Java知识点总结(JavaIO-打印流)
  • python学习笔记 - ThreadLocal
  • Vue ES6 Jade Scss Webpack Gulp
  • vuex 笔记整理
  • Xmanager 远程桌面 CentOS 7
  • 回顾 Swift 多平台移植进度 #2
  • 技术胖1-4季视频复习— (看视频笔记)
  • 如何利用MongoDB打造TOP榜小程序
  • 如何选择开源的机器学习框架?
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 微信小程序开发问题汇总
  • 源码安装memcached和php memcache扩展
  • 组复制官方翻译九、Group Replication Technical Details
  • ​Java并发新构件之Exchanger
  • ​zookeeper集群配置与启动
  • ​一些不规范的GTID使用场景
  • #if等命令的学习
  • (+4)2.2UML建模图
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (7)STL算法之交换赋值
  • (70min)字节暑假实习二面(已挂)
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (四)汇编语言——简单程序
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)jdk与jre的区别
  • (转)平衡树
  • (转载)从 Java 代码到 Java 堆
  • *** 2003
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .bat批处理(二):%0 %1——给批处理脚本传递参数