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

创建网站的公司网站开发师是属于IT主体职业

创建网站的公司,网站开发师是属于IT主体职业,网站建设 如何友情链接,国际交易所app下载今天难得双更,大家点个关注捧个场 原文地址:后端系统开发之——接口参数校验 - Pleasure的博客 下面是正文内容: 前言 在上一篇文章中提到了接口的开发,虽然是完成了,但还是缺少一些细节——传入参数的校验。 即用户…

今天难得双更,大家点个关注捧个场

原文地址:后端系统开发之——接口参数校验 - Pleasure的博客

下面是正文内容:

前言

在上一篇文章中提到了接口的开发,虽然是完成了,但还是缺少一些细节——传入参数的校验。

即用户传入的参数要符合系统的使用需求。比如用户名和密码的长度要适宜,虽然可以在前端页面直接进行筛选,但是在后端再加一层可以使系统更加稳固。

这篇文章就主要来谈谈这个。具体的文件内容详见上一篇博文。

正文

前置知识

主要是关于正则表达式的,知道的可以直接跳过。

  1. . (点号): 匹配除换行符以外的任意单个字符。
  2. \d: 匹配一个数字字符。
  3. \w: 匹配一个单词字符,包括字母、数字和下划线。
  4. \s: 匹配一个空白字符,包括空格、制表符、换行符等。
  5. ^: 匹配字符串的开始位置。
  6. $: 匹配字符串的结束位置。
  7. \b: 匹配一个单词边界。
  8. []: 字符集,匹配其中任意一个字符。
  9. |: 或,用于在两个模式之间选择一个。
  10. ?: 匹配零次或一次前面的元素。
  11. +: 匹配一次或多次前面的元素。
  12. *** 匹配零次或多次前面的元素。
  13. {n}: 匹配前面元素恰好 n 次。
  14. {n,}: 匹配前面元素至少 n 次。
  15. {n,m}: 匹配前面元素至少 n 次,至多 m 次。

正式操作

接口返回的响应信息格式要以接口文档为准。

这里的信息响应格式统一为{code message data},在Result.java中已经进行了规范。

虽然传入参数的校验可以通过手动的方式进行检验,即通过if和else的判断来进行检验,但当参数的规模增多代码的编写量也就成倍的增多,能偷懒就偷懒。

所以这里就需要用到一个新的依赖——Spring Validation。

同样的,先在pom.xml文件中添加下面的内容。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
</dependency>

我们只需要在参数前添加下面这样的字段,就可以起到校验的作用

package org.example.controller;import jakarta.validation.constraints.Pattern;
import org.example.pojo.Result;
import org.example.pojo.User;
import org.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/user")
@Validated
public class UserController {@Autowiredprivate UserService userService;@PostMapping("register")public Result register(@Pattern(regexp = "^\\S{5,16}$") String username, @Pattern(regexp = "^\\S{5,16}$") String password) {//查询用户User u = userService.findByUserName(username);if (u == null) {//没有占用//注册userService.register(username, password);return Result.success();} else {//占用return Result.error("用户名已被占用");}//注册}
}

然而返回的参数格式是{timestamp status error path},不符合要求

最后再来规范一下响应信息的格式以符合接口文档的要求。

在org.example文件加下新建Exception文件夹,其下新建Java类GlobalExceptionHandler.java。

package org.example.exception;import org.example.pojo.Result;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;@RestControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)public Result handleException(Exception e){e.printStackTrace();return Result.error(StringUtils.hasLength(e.getMessage())? e.getMessage() : "操作失败");}
}

测试传入参数,操作完成。

尾声

后面是关于登录接口的开发。

http://www.yayakq.cn/news/562162/

相关文章:

  • 网站开发 百度编辑器网站设计的出路
  • 思途建站网络广告策划流程有哪些?
  • 植物提取网站做的比较好的厂家短网址 wordpress
  • 网站功能需求分析文档哪里可以自己免费开网店
  • 有没有接做网站私活的平台电子商务公司网站建设
  • 英语网站建设公司白度
  • 网站快速上排名方法邯郸有学做搭建网站的吗
  • 南宁网站建设怎么样阿里云做网站买什么
  • 怎么样做好网站建设wordpress在线升级
  • 建设银行网站理财产品用笔记本做网站
  • iis网站连接数腾讯域名注册网站
  • 南通北京网站建设手机html编辑器哪个好
  • 五指山网站建设类模板模板下载网站有哪些内容
  • 优设设计网站导航北京朝阳区地图高清版大图
  • 东莞网站建设推广公司wordpress toptheme
  • 做商城网站的公司惠山做网站公司
  • 东莞南城网站制作给别人做网站怎么赚钱吗
  • 桂林网站建设招聘网页设计html代码大全美食
  • 做网站的商家怎么赚取流量费怎么做网页链接二维码
  • 单位网站建设情况总结微网站自己怎么做
  • 电子商务网站建设可用性五个方面wordpress 注册表单 自定义
  • 做网站怎么添加背景图片北京王府井房价多少钱一平
  • 能打开的网站你了解的宁夏电力建设工程公司门户网站
  • 范湖网站建设团队怎么在百度上做广告
  • 网站logo修改专业做国外网站
  • 张掖交通建设投资有限责任公司网站网页程序开发学什么语言
  • 快速搭建网站的工具有哪些如何创建一个个人网页
  • 网站风格设计惠州专业做网站公司
  • 网站开发html书籍下载正规的拼多多运营哪里找
  • 滑县网站建设服务邢台网络问政