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

网站建设苏州seo霸屏软件

网站建设苏州,seo霸屏软件,聚美优品网站建设,西安品牌策划java 17 cloud 2023.0.0 boot 3.2.0 cloud alibaba 2022.0.0.0-Rc2 maven 3.9 mysql 8.0 一、创建项目 new project 聚合总父工程名字 字符编码 4.注解生效激活 5.java编译版本选17 6.file type 过滤 删除src 1.1maven中的dependencyManager与dependencies 一般在项目最…

java 17+ cloud 2023.0.0 boot 3.2.0 cloud alibaba 2022.0.0.0-Rc2 maven 3.9+ mysql 8.0+

一、创建项目

  1. new project

  2. 聚合总父工程名字

  3. 字符编码

4.注解生效激活

5.java编译版本选17

6.file type 过滤

删除src

1.1maven中的dependencyManagerdependencies

一般在项目最顶层pom中看到dependencyManager能让所有在子项目中引用一个依赖而不显示的列出版本号,maven会沿着父子层次向上走,知道找到一个拥有dependencyManagement元素的项目,然后就会使用这个dependencyManagement元素中指定的版本号

好处:如果有多个子项目都引用一样依赖,则可以避免在每个使用的子项目里面都声明一个版本号

  1. 当想升级或切换另一个版本的时候,只需要在顶层父容器更新,而不需要一个一个修改子项目

  2. 如果某个子项目需要另外一个版本,只需要声明version就可。

1.2跳过单元测试配置

1.3创建子项目

步骤

  1. 建module

  2. 改pom

  3. 写yml

  4. 主启动

  5. 写业务

1.4Swagger3

  1. 1.加注解

注解标注位置作用
@Tagcontroller类标识controller作用
@Parameter参数标识参数作用
@Parameters参数参数多重说明
@Schemamodle层的javaBean描述魔性作用及每个属性
@Operation方法描述方法作用
@ApiRestponse方法描述响应状态码等

2.含分组迭代的Config配置类

package com.atguigu.cloud.config;import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class Swagger3Config
{@Beanpublic GroupedOpenApi PayApi(){return GroupedOpenApi.builder().group("支付微服务模块").pathsToMatch("/pay/**").build();}@Beanpublic GroupedOpenApi OtherApi(){return GroupedOpenApi.builder().group("其它微服务模块").pathsToMatch("/other/**", "/others").build();}/*@Beanpublic GroupedOpenApi CustomerApi(){return GroupedOpenApi.builder().group("客户微服务模块").pathsToMatch("/customer/**", "/customers").build();}*/@Beanpublic OpenAPI docsOpenApi(){return new OpenAPI().info(new Info().title("cloud2024").description("通用设计rest").version("v1.0")).externalDocs(new ExternalDocumentation().description("www.hhf.com").url("https://yiyan.baidu.com/"));}
}

3.调试方式

http://localhost:8001/swagger-ui/index.html

1.5优化

1.完善日期时间格式

可以在相应类的属性上面使用@JsonFormat注解

@Column(name = "create_time")@Schema(title = "创建时间")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")private Date createTime;@Column(name = "update_time")@Schema(title = "更新时间")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")private Date updateTime;

如果是Spring Boot项目,也可以在application.yml文件中指定

spring:jackson:date-format:yyyy-MM-dd HH:mm:sstime-zone: GMT+8

2.统一返回值

思路:定义返回标准格式,3大标配

code状态值:由后端统一定义各种返回结果的状态码

message描述:本次接口调用的结果描述

data数据:本次返回的数据

扩展:接口调用时间之类,timestamp:接口调用时间

步骤:

1.新建枚举类ResturnCodeEnmu

HTTP请求返回状态码

ReturnCodeEnum

package com.atguigu.cloud.resp;import lombok.Getter;import java.util.Arrays;@Getter
public enum ReturnCodeEnum {RC999("999","操作xxx失败"),RC200("200", "success"),RC201("201", "服务器开启降级保护,请稍后再试"),RC202("202", "热点参数限流,请稍后再试"),RC203("203", "系统规则不满足要求,请稍后再试"),RC204("204", "授权规则不通过,请稍后再试"),RC403("403", "无访问权限,请联系管理员授予权限"),RC401("401", "匿名用户访问无权限资源时的异常"),RC404("404", "404页面找不到的异常"),RC500("500", "系统异常请稍后再试"),RC375("375", "数学运算异常,请稍后再试"),INVALID_YOKEN("2001","访问令牌不合法"),ACCESS_DENIED("2003","没有权限访问该资源"),CLIENT_AUTHENTICATION_FAILED("1001","客户端认证失败"),USERNAME_OR_PASSWORD_ERROE("1002","用户名或密码错误"),BUSINESS_ERROR("1004","业务逻辑异常"),UNSUPPORTED_GRANT_TYPE("1003","不支持的认证模式");private final String code;private final String message;ReturnCodeEnum(String code, String message) {this.code = code;this.message = message;}/*** 如何定义一个通用的枚举类* 举值-构造-遍历*///传统版//3.1public static ReturnCodeEnum getReturnCodeEnum(String code){for (ReturnCodeEnum element : ReturnCodeEnum.values()) {if(element.getCode().equalsIgnoreCase(code)){return element;}}return  null;}//3.2Stream流式计算public static ReturnCodeEnum getReturnEnum1(String code){return Arrays.stream(ReturnCodeEnum.values()).filter(x -> x.getCode().equalsIgnoreCase(code)).findFirst().orElse(null);}   }

2.新建统一定义返回对象ResultData

1.6全局异常处理

为什么需要全局异常处理器,不在手写try...catch

新建全局异常类GlobalExecptionHandler

package com.atguigu.cloud.exp;import com.atguigu.cloud.resp.ResultData;
import com.atguigu.cloud.resp.ReturnCodeEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;@Slf4j
@RestControllerAdvice
public class GlobalExexptionHandler {@ExceptionHandler(RuntimeException.class)@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)public ResultData<String> execption(Exception e){System.out.println("####come in GlobalExecptionHandler");log.error("全局异常信息:{}",e.getMessage(),e);return ResultData.fail(ReturnCodeEnum.RC500.getCode(), e.getMessage());}                                                                                                                                                                                        
}
    @GetMapping(value =  "/pay/error")public ResultData<Integer> getPayError(){Integer i = Integer.valueOf(200);try{System.out.println("com in payerror test");int age = 10/0;}catch (Exception e){return ResultData.fail(ReturnCodeEnum.RC500.getCode(), e.getMessage());}return ResultData.success(i);}

http://www.dtcms.com/wzjs/508909.html

相关文章:

  • 首页网站怎么做的百度代理
  • 代理公司注册登记南宁seo标准
  • 完整网站开发流程网络营销推广外包服务
  • 招财猫网站怎么做互联网推广
  • wordpress英文主题变中文版seo伪原创工具
  • 做网站那个好怎么在百度上面打广告
  • wordpress ajax请求搜外seo视频 网络营销免费视频课程
  • 租用网站服务器价格网站排名
  • 做网站放博彩广告汕头百度网站推广
  • 青岛网景互联网站建设公司武汉java培训机构排名榜
  • 做自己的网站收费吗百度广告联盟怎么赚钱
  • 建设商城网站制作磁力猫最好磁力搜索引擎
  • 自动评论插件wordpress百度点击优化
  • 网站建设开拓该行业的难点疑网址注册查询
  • 响应式网站用什么工具做百度seo排名优化联系方式
  • 政府网站建设与行政管理创新google chrome官网
  • 做网站js框架百度竞价推广有哪些优势
  • 做网站不花钱中文域名的网站
  • 首页重庆网站建设百度推广营销方案
  • 想学网站建设选计算机应用技术还是计算机网络技术哪个专业啊谷歌浏览器下载手机版
  • 申请建设部门网站的报告学生网页制作成品
  • 建站借鉴其他网站外贸公司一般怎么找客户
  • 广州网站推广找哪里宁波靠谱营销型网站建设
  • 网站三合一seo的研究对象
  • 哈尔滨网站建设制作哪家好苏州疫情最新情况
  • 哪个网站可以做海报湖南seo服务电话
  • 2019为赌博网站做代理被判缓刑百度云网盘官网
  • 网站大屏轮播图效果怎么做今日微博热搜榜前十名
  • 寻找锦州网站建设关键词批量调词软件
  • 宿迁网站建设怎么收费网页设计模板免费网站