当前位置: 首页 > 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("评论内容包含敏感词语");}

相关文章:

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…...

android 避免混淆类名和方法名,但是方法内容需要被混淆

要避免在使用 ProGuard 或 R8 进行代码混淆时混淆特定类名和方法名的同时让方法内容被混淆&#xff0c;你需要在 ProGuard 配置文件中使用 -keepclassmembers 或 -keep 规则。这些规则允许你指定保留类名和方法名的同时允许方法内部代码被混淆以减小体积和提高安全性。 以下是…...

通过ELRepo修改CentOS 7内核版本的详细步骤

简介&#xff1a; 在Linux系统中&#xff0c;内核版本决定了硬件支持和系统性能。有时&#xff0c;为了获得更好的性能或新特性&#xff0c;我们需要升级或更换内核。本文将详细说明如何在CentOS 7系统上通过ELRepo仓库安装更新的内核版本。 环境准备&#xff1a; CentOS 7系…...

C++开源库glog使用封装--自定义日志输出格式,设置日志保留时间

glog下载和编译 glog开源地址 https://github.com/google/glog glog静态库编译 cd /home/wangz/3rdParty/hldglog/glogmkdir out mkdir build && cd buildcmake .. -DCMAKE_INSTALL_PREFIX../out -DCMAKE_BUILD_TYPERelease -DBUILD_SHARED_LIBSOFF本文选择的glo…...

linux rc.local不生效

1. 权限问题直接 chmod 755 /etc/rc.d/rc.local 即可 2.本次发现问题 环境复杂造成&#xff0c;系统中有多个版本的JDK&#xff0c;导致tomcat无法启动 systemctl status rc-local.service ● rc-local.service - /etc/rc.d/rc.local CompatibilityLoaded: loaded (/usr/lib…...

ROS2入门21讲__第07讲__节点:机器人的工作细胞

目录 前言 通信模型 案例一&#xff1a;Hello World节点&#xff08;面向过程&#xff09; 运行效果 代码解析 创建节点流程 案例二&#xff1a;Hello World节点&#xff08;面向对象&#xff09; 运行效果 代码解析 创建节点流程 案例三&#xff1a;物体识别节点 …...

k8s node NotReady后会发生什么?

K8s 是一种强大的容器编排和管理平台&#xff0c;能够高效地调度、管理和监控容器化应用程序&#xff1b;其本身使用声明式语义管理着集群内所有资源模型、应用程序、存储、网络等多种资源&#xff0c;Node 本身又属于 K8s 计算资源&#xff0c;上面承载运行着各种类型的应用程…...

uni-starter创建App项目最全流程(日后还有其他功能会不断更新)

一、创建项目 在HbuilderX中点击创建项目&#xff0c;选择uni-starter模板&#xff0c;选择阿里云、Vue3&#xff0c;填写项目名称后点击创建。如果没有下载过uni-starter会自动下载该插件&#xff0c;如下图&#xff1a; 二、 创建云服务器并关联项目 如果是第一次使用&#…...

动态IP和静态IP区别

1.可变性&#xff1a;当设备重新连接时&#xff0c;动态IP将分配新的IP地址&#xff0c;静态IP将保持不变。 2.适用场景&#xff1a;动态IP适用于普通用户或小型办公室&#xff0c;静态IP适用于需要特定IP地址的服务或应用。 3.价格:动态IP通常比静态IP更经济。 4.管理和配置:动…...

蓝牙(2):BR/EDR的连接过程;查询(发现)=》寻呼(连接)=》安全建立=》认证=》pair成功;类比WiFi连接过程。

4.2.1 BR/EDR 流程&#xff1a; 查询&#xff08;发现&#xff09;》寻呼&#xff08;连接&#xff09;》安全建立》认证》pair成功 4.2.1.1 查询&#xff08;发现&#xff09;流程Inquiry (discovering) 类比WiFi的probe request/response 蓝牙设备使用查询流程来发现附近的…...

源码部署EFK

目录 资源列表 基础环境 关闭防护墙 关闭内核安全机制 修改主机名 添加hosts映射 一、部署elasticsearch 修改limit限制 部署elasticsearch 修改配置文件 单节点 集群(3台节点集群为例) 启动 二、部署filebeat 部署filebeat 添加配置文件 启动 三、部署kiban…...

CSDN智能总结助手

github项目地址&#xff1a; https://github.com/anjude/little-demo/tree/master 获取CSDN的user name和user token 打开csdn&#xff0c;打开控制台 - Application - Cookies&#xff0c;找到domain为blog.csdn.net的cookie&#xff0c;复制user_name和user_token的值 把上…...

setImmediate是在当前事件循环的所有周期的末尾执行,还是再当前事件循环的当前周期的下一个周期执行?

实际上&#xff0c;setImmediate 的回调函数会在当前事件循环的当前周期的末尾执行&#xff0c;而不是下一个周期。 在事件循环中&#xff0c;任务分为宏任务&#xff08;macrotask&#xff09;和微任务&#xff08;microtask&#xff09;。setImmediate 的回调函数属于宏任务…...

建材行业工程设计资质动态核查不通过怎么办

详细了解核查结果&#xff1a;首先&#xff0c;需要仔细阅读核查结果&#xff0c;了解不通过的具体原因。这些原因可能涉及企业基本情况、技术负责人情况、主要人员情况、设备和厂房情况、业绩和信誉等方面。 针对问题制定整改计划&#xff1a;根据核查结果&#xff0c;针对存…...

二叉数之插入操作

首先是题目 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 value &#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 &#xff0c;新值和原始二叉搜索树中的任意节点值都不同。 注意&#xff0c;可能存在多种有效…...

【Python】全局变量与init的区别

一个脚本里&#xff0c;设置全局变量&#xff0c;和初始化类时__init__中加载&#xff0c;有什么区别&#xff1f; 在Python脚本中&#xff0c;使用全局变量和在类的__init__方法中加载数据有几个关键区别&#xff1a; 作用域&#xff1a; 全局变量&#xff1a;全局变量在整个…...

JAVA学习-练习试用Java实现“位1的个数”

问题&#xff1a; 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 1 的个数&#xff08;也被称为汉明重量&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言&#xff08;如…...

HTML静态网页成品作业(HTML+CSS)——魅族商城首页网页(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…...

Windows DNS 服务器配置转发器

DNS服务器转发器 在企业中由于自身条件的限制&#xff0c; 可能本身的DNS新能并不是很好&#xff0c;这个时候通过使用转发器功能&#xff0c; 将收到的DNS请求转发给另外一台高性能的DNS服务器&#xff0c;让其做后面的迭代查询。 1. 选择DNS服务器&#xff0c; 右击选择属性…...

基于FPGA的VGA协议实现----条纹-文字-图片

基于FPGA的VGA协议实现----条纹-文字-图片 引言&#xff1a; ​ 随着数字电子技术的飞速发展&#xff0c;现场可编程门阵列&#xff08;FPGA&#xff09;因其高度的灵活性和并行处理能力&#xff0c;在数字系统设计中扮演着越来越重要的角色。FPGA能够实现复杂的数字逻辑&#…...

避坑指南:用SwinUnet跑通Synapse医学图像分割,我踩过的那些环境与数据坑

SwinUnet医学图像分割实战避坑指南&#xff1a;从环境配置到模型测试的完整解决方案 第一次接触SwinUnet进行医学图像分割时&#xff0c;我像大多数初学者一样&#xff0c;满怀信心地克隆了GitHub仓库&#xff0c;准备大展身手。然而现实很快给了我一记重击——从Python版本冲突…...

nRF52轻量级NFC Type 2标签驱动库解析

1. 项目概述aconno_nrf52_nfc是一个专为 Nordic Semiconductor nRF52 系列 SoC&#xff08;如 nRF52832、nRF52840&#xff09;设计的轻量级 NFC 标签驱动库。该库不依赖于 Nordic SDK 的完整 NFC 协议栈&#xff08;如nfc_t2t_lib或nfc_ndef&#xff09;&#xff0c;而是直接操…...

网安第十一节

四、Web后端PHP基础安全 PHP核心原理与文件上传 1、PHP介绍 1.定义 PHP&#xff08;Hypertext Preprocessor&#xff0c;超文本预处理器&#xff09;是一门开源的服务器端脚本编程语言&#xff0c;专门用于开发Web网站的后端逻辑。 2.核心关键 服务器端&#xff1a;PHP代码只…...

MAX31865嵌入式驱动库:高精度RTD温度测量实战指南

1. 项目概述7Semi_MAX31865 是一款面向工业级高精度温度测量场景的嵌入式驱动库&#xff0c;专为 Maxim Integrated&#xff08;现属 Analog Devices&#xff09;MAX31865 RTD-to-digital 转换器芯片设计。该库并非简单封装&#xff0c;而是以底层硬件控制为核心&#xff0c;提…...

09_微服务划分与团队人数之阿里实践与行业案例

微服务划分与团队人数之阿里实践与行业案例 体系内容 拆分维度:业务能力维度、通用能力维度、非功能维度 组织原则:康威定律、领域自治、平台沉淀、核心/非核心差异化治理 Spring Cloud Alibaba 视角:Nacos、Sentinel、RocketMQ、Seata、Dubbo 在企业场景中的组合打法 行业…...

率零测评:AI率83%的文章降完是什么效果

率零&#xff08;www.0ailv.com&#xff09;最大的特点是便宜——3.2元/千字&#xff0c;在主流工具里价格最低&#xff0c;还有1000字免费体验。这让很多AI率高的同学把它作为第一选择。 它的实际效果怎么样&#xff1f;这篇文章来说清楚。 测试基本情况 测试论文&#xff…...

Scratch二次开发实战:如何按需“阉割”菜单栏功能?从关闭语言切换、主题到隐藏教程按钮

Scratch教学环境定制指南&#xff1a;精准控制菜单栏功能的艺术 1. 为什么需要定制Scratch界面&#xff1f; 在少儿编程教育领域&#xff0c;Scratch作为全球最受欢迎的图形化编程工具之一&#xff0c;其默认界面设计面向的是广泛年龄段的国际用户。然而在实际教学场景中&#…...

人生苦难的本质的庖丁解牛

“人生苦难的本质”&#xff0c;常被误解为“命运的不公”、“物质的匮乏”或“肉体的疼痛”。 但本质上&#xff0c;苦难并非来自外部世界的客观事件&#xff0c;而是源于**“内在预期”与“外在实相”之间的剧烈摩擦**&#xff0c;是**“有限的自我”试图掌控“无限的无常”时…...

AutoCAD转SolidWorks必看:用装配体功能优化树莓派小车结构的5个技巧

AutoCAD转SolidWorks必看&#xff1a;用装配体功能优化树莓派小车结构的5个技巧 从AutoCAD转向SolidWorks的设计师常会遇到一个关键挑战&#xff1a;如何将二维绘图思维转化为三维装配思维。上周一位机械工程师向我展示了他的树莓派小车AutoCAD图纸——虽然二维尺寸精确到毫米…...

SA8775学习笔记(一)一颗 SA8775P,能不能撑起舱驾一体?从架构到实战彻底讲透(多屏+多摄+AI+安全全解析)

🚗🔥 一颗 SA8775P,能不能撑起舱驾一体?从架构到实战彻底讲透(多屏+多摄+AI+安全全解析) 🧩 一、先说结论:SA8775P不是“更强”,而是在重构整车电子架构 如果从参数看 SA8775P,很容易误判它只是“性能更强的一颗芯片”。 但放到真实整车架构里,它干的事情其实是:…...