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

在 go 的项目中使用验证器

1:使用validate 包验证:

        安装包: go get github.com/go-playground/validator/v10

package controllerimport ("fmt""github.com/gin-gonic/gin""github.com/go-playground/validator/v10""net/http"
)// 使用 type OrderController struct  来区别同一个包下面出现相同的func 函数
type OrderController struct {
}//获取搜索的参数type Order struct {Id      int    `json:"id" validate:"required"` // 使用validate 的包进行验证Name    string `json:"name" validate:"required"`OrderId int    `json:"orderId" validate:"required"`Email   string `json:"email" validate:"email"`
}type Search struct {Cid  int    `json:"cid"`Name string `json:"name"`
}func (o OrderController) GetList(c *gin.Context) {v := validator.New()// 从请求中获取JSON数据并绑定到Order结构体var order Orderif err := c.ShouldBindJSON(&order); err != nil { //将参数进行验证 并给order 结构体c.JSON(http.StatusBadRequest, gin.H{"jsonerr": err.Error()})return}// 使用validator验证Order结构体数据err := v.Struct(order)if err != nil {c.JSON(http.StatusBadRequest, gin.H{"vlidateerror": err.Error()})return}// 打印接收到的参数,这里可以根据实际需求进行后续处理,如查询数据库等。fmt.Printf("Received order: %+v", order)c.JSON(http.StatusOK, gin.H{"message": "Successfully received order"})}

validate 的值请参考: 参考的值

相关文章:

在 go 的项目中使用验证器

1:使用validate 包验证: 安装包: go get github.com/go-playground/validator/v10 package controllerimport ("fmt""github.com/gin-gonic/gin""github.com/go-playground/validator/v10""net/http&quo…...

Handler系列-sendMessage和post的区别

sendMessage和post基本一样,区别在于post的Runnable会被赋值给Message的callback,在最后调用dispatchMessage的时候,callback会被触发执行。 1.sendMessage 调用sendMessageDelayed发送消息 public class Handler {public final boolean s…...

java中 自动装箱与拆箱,基本数据类型,java堆与栈,面向对象与面向过程

文章目录 自动装箱与拆箱基本数据类型与包装类的区别(int 和 Integer 有什么区别)应用场景的区别: 堆和栈的区别重点来说一下堆和栈:那么堆和栈是怎么联系起来的呢? 堆与栈的区别 很明显:延伸:关于Integer…...

C语言第二十八弹--输入一个非负整数,返回组成它的数字之和

C语言求输入一个非负整数&#xff0c;返回组成它的数字之和 方法一、递归法 思路&#xff1a;设计一个初始条件&#xff0c;通过递归获取非负整数的个位&#xff0c;不断接近递归条件即可。 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h>int DigitSum(int n) {…...

redis---主从复制及哨兵模式(高可用)

主从复制 主从复制&#xff1a;主从复制是redis实现高可用的基础&#xff0c;哨兵模式和集群都是在主从复制的基础之上实现高可用。 主从负责的工作原理 1、主节点&#xff08;master&#xff09; 从节点&#xff08;slave&#xff09;组成&#xff0c;数据复制是单向的&a…...

【不同请求方式在springboot中对应的注解】

GET 请求方法&#xff1a;用于获取资源。使用 GetMapping 注解来处理 GET 请求。 示例代码&#xff1a; RestController public class MyController {GetMapping("/resource")public ResponseEntity<String> getResource() {// 处理 GET 请求逻辑} }POST 请求方…...

前端入门(三)Vue生命周期、组件技术、事件总线、

文章目录 Vue生命周期Vue 组件化编程 - .vue文件非单文件组件组件的注意点组件嵌套Vue实例对象和VueComponent实例对象Js对象原型与原型链Vue与VueComponent的重要内置关系 应用单文件组件构建 Vue脚手架 - vue.cli项目文件结构refpropsmixin插件scoped样式 Vue生命周期 1、bef…...

消息推送到微信,快速实现WxPusher

文章目录 前言一、平台二、代码总结 前言 我的博客里也有其他方法&#xff0c;测试了下感觉这个方法还是比较实用。 一、平台 先仔细阅读下平台的使用方法。 平台地址请点击 二、代码 import requests text 孪生网络模型已经训练完成&#xff0c;请注意查阅相关信息。 req…...

【Spring篇】JDK动态代理

目录 什么是代理&#xff1f; 代理模式 动态代理 Java中常用的代理模式 问题来了&#xff0c;如何动态生成代理类&#xff1f; 动态代理底层实现 什么是代理&#xff1f; 顾名思义&#xff0c;代替某个对象去处理一些问题&#xff0c;谓之代理&#xff0c;那么何为动态&a…...

【从零开始实现意图识别】中文对话意图识别详解

前言 意图识别&#xff08;Intent Recognition&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一个重要任务&#xff0c;它旨在确定用户输入的语句中所表达的意图或目的。简单来说&#xff0c;意图识别就是对用户的话语进行语义理解&#xff0c;以便更好地回答用户…...

腾讯云点播小程序端上传 SDK

云点播是专门应对上传大视频文件的。 腾讯云点播文档&#xff1a;https://cloud.tencent.com/document/product/266/18177 这个文档比较简单&#xff0c;实在不行&#xff0c;把demo下载下来&#xff0c;一看就明白了&#xff0c;然后再揉一下挪到自己的项目里。完事。 getSign…...

【MATLAB源码-第88期】基于matlab的灰狼优化算法(GWO)的栅格路径规划,输出做短路径图和适应度曲线

操作环境&#xff1a; MATLAB 2022a 1、算法描述 灰狼优化算法&#xff08;Grey Wolf Optimizer, GWO&#xff09;是一种模仿灰狼捕食行为的优化算法。灰狼是群居动物&#xff0c;有着严格的社会等级结构。在灰狼群体中&#xff0c;通常有三个等级&#xff1a;首领&#xff…...

electron使用electron-builder macOS windows 打包 签名 更新 上架

0. 前言 0.1 项目工程 看清目录结构&#xff0c;以便您阅读后续内容 0.2 参考资料 &#xff08;1&#xff09;macOS开发 证书等配置/打包后导出及上架 https://www.jianshu.com/p/c9c71f2f6eac首先需要为Mac App创建App ID&#xff1a; 填写信息如下—Description为"P…...

autojs项目搭建和入门实践

Auto.js 是一款无需root权限的javascript自动化软件&#xff0c;它可以帮助用户在手机上自动执行各种任务&#xff0c;比如自动填写表单、自动点击按钮、自动切换应用等&#xff0c;并且可以通过图形用户界面来管理和编辑脚本。 软件环境 操作系统&#xff1a;win10 VSCODE&…...

uni-app 跨端开发注意事项

文章目录 前言H5正常但App异常的可能性标题二H5正常但小程序异常的可能性小程序正常但App异常的可能性小程序或App正常&#xff0c;但H5异常的可能性App正常&#xff0c;小程序、H5异常的可能性使用 Vue.js 的注意区别于传统 web 开发的注意H5 开发注意微信小程序开发注意支付宝…...

在 vscode 中的json文件写注释,不报错的解决办法

打开 vscode 的「设置」&#xff0c;搜索&#xff1a;files: associations&#xff0c;然后添加 *.json jsonc最后...

基于uniapp的 电子书小程序——需求整理

前言 想开发一个很简单的 电子书阅读小程序&#xff0c;要怎么做的。下面从功能、数据库设计这一块来说一下。说不一定能从某个角度提供一些思路 开发语言 springcloud uniapp 小程序&#xff08;vue2&#xff09;mysql 说明 电子书的主题是电子书&#xff0c;我们在日常…...

Hutool HttpRequest 首次请求正常 第二次被系统拦截

Hutool HttpRequest 首次请求正常 第二次被系统拦截 功能描述异常现象错误代码 异常排查问题跟踪问题总结处理方案最终修改后的代码 功能描述 需要请求第三方某个接口&#xff0c;获取接口中的数据。 异常现象 使用main 方法 通过Hutool 工具类发出请求&#xff0c;获取数据…...

github国内访问小解(windows)

git 下载安装 使用 github 前必须确保电脑上已经安装了 Git&#xff0c;可以从 Git 官方网站去下载。 官方的网站在国内访问会比较慢&#xff0c;这里可以选择国内镜像&#xff1a;https://registry.npmmirror.com/binary.html?pathgit-for-windows/ github 之旅 确认电脑已…...

NX二次开发UF_CSYS_set_wcs_display 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_set_wcs_display Defined in: uf_csys.h int UF_CSYS_set_wcs_display(int display_status ) overview 概述 Set display of work coordinate system. 展示工作坐标系。 …...

阿赵UE实战笔记——HUD控件蓝图从入门到界面交互

1. HUD基础概念与UE中的实现 在游戏开发中&#xff0c;HUD&#xff08;Head-Up Display&#xff09;是玩家与游戏世界交互的重要桥梁。想象一下驾驶舱的平视显示器&#xff0c;飞行员无需低头就能获取关键飞行数据。游戏中的HUD同样如此&#xff0c;它能实时显示玩家血量、弹药…...

HarmonyOS 6学习:旋转动画优化与长截图性能调优——打造丝滑交互体验的深度实践

引言&#xff1a;当技术细节决定用户体验成败在移动应用开发的世界里&#xff0c;有两个看似微小却足以影响用户留存的关键细节&#xff1a;设备旋转时的动画流畅度和长内容截图的性能表现。前者决定了用户操作时的感官体验&#xff0c;后者影响着内容分享的效率与质量。想象这…...

CDLF多级泵品牌推荐:上海上诚泵阀在工程应用中表现如何?

CDLF多级泵品牌推荐&#xff1a;上海上诚泵阀在工程应用中表现如何&#xff1f;在做供水、水处理、循环系统项目时&#xff0c;很多人都会问&#xff1a;&#x1f449; CDLF多级泵品牌怎么选&#xff1f;有没有靠谱推荐&#xff1f;如果只是看资料&#xff0c;很容易陷入一个误…...

【C++26反射工业级应用禁地】:为什么头部自动驾驶公司已禁用传统模板元编程,全面迁移至`std::reflect`?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;C26反射元编程的工业级演进动因 现代C系统软件正面临前所未有的复杂性挑战&#xff1a;微服务网关需在编译期校验协议字段兼容性&#xff0c;嵌入式固件要求零运行时开销的序列化配置注入&#xff0c;金…...

GEM5模拟器实战:如何为你的系统添加L1和L2缓存(附完整配置流程)

GEM5模拟器实战&#xff1a;如何为你的系统添加L1和L2缓存&#xff08;附完整配置流程&#xff09; 在计算机体系结构研究中&#xff0c;缓存系统的设计对整体性能有着决定性影响。GEM5作为当前最主流的开源架构模拟器&#xff0c;其精确的时序模型和灵活的配置系统&#xff0c…...

想买的车安不安全?手把手教你看懂CNCAP2021版ADAS测试报告(含AEB/LKA/BSD详解)

买车必看&#xff1a;普通人也能秒懂的CNCAP主动安全测试指南 站在4S店展厅里&#xff0c;销售顾问指着配置表上的"CNCAP五星安全认证"滔滔不绝时&#xff0c;你是否真正理解这几个字母背后的含义&#xff1f;当看到测试报告中"AEB CCRs 4.8分"、"LKA…...

LinkSwift:八大主流网盘直链下载解决方案的技术实践指南

LinkSwift&#xff1a;八大主流网盘直链下载解决方案的技术实践指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...

SAP ABAP表控件(Table Control)实战:从向导生成到手工打造可编辑数据表格

SAP ABAP表控件深度实战&#xff1a;从快速生成到高级交互设计 在SAP Dialog程序开发中&#xff0c;Table Control&#xff08;表控件&#xff09;是实现数据批量维护的核心组件。不同于简单的数据显示控件&#xff0c;Table Control需要开发者深入理解ABAP屏幕编程中的PBO/PAI…...

机器人感知与决策机制的技术解析

1. 机器人体验的本质解析当人们谈论"成为机器人是什么感觉"时&#xff0c;实际上是在探讨两种截然不同的认知维度&#xff1a;作为人类对机械生命的想象投射&#xff0c;以及人工智能系统处理信息的真实运作机制。我在自动化系统研发领域工作十二年&#xff0c;参与过…...

CentOS8部署Ansible实战:从零到配置完成的避坑指南

1. 为什么选择Ansible&#xff1f;CentOS8部署前的思考 第一次接触Ansible是在管理十几台服务器的时候。当时手动操作每台机器装软件、改配置&#xff0c;不仅效率低还容易出错。Ansible就像个智能遥控器&#xff0c;能同时控制所有机器执行相同操作&#xff0c;而且不需要在目…...